C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: パーシャルクラスでフレームワークの標準クラスを拡張したい


(過去ログ 54 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■30479 / inTopicNo.1)  パーシャルクラスでフレームワークの標準クラスを拡張したい
  
□投稿者/ 鶏唐揚 (320回)-(2008/12/24(Wed) 17:30:37)

分類:[VB.NET/VB2005 以降] 

2008/12/24(Wed) 18:09:11 編集(投稿者)

[OS]XP/Vista
[VB]2005/2008

お世話になっております。
今回、Arrayに関するメソッドを作っています。
このメソッドはわずか2つほどなのですが、共通で使うためクラスファイルではなくDLLとして作成しています。

たった1つ2つのメソッドを、わざわざ別クラスとしたりArrayを継承したりするのも大げさなので
Arrayのパーシャルで作ってやれば標準と同じ感覚Array.xxxとするだけで使えるかも?と思い、以下を試みました

・パーシャルクラスで作成、クラス名をArrayとする
・プロジェクトプロパティのルート名前空間をSystemとする

すると、そのDLLを参照した別プロジェクトでSystemの配下にArrayがいなくなり、
無理やりArray.Copyと打っても「'Array' は、名前空間 'System' では不適切です。」となります


やり方そのものが邪道のような気もしますが、
上記方法の間違いや、この目的を実現できるヒント等あればご教示お願いします

#分類修正
引用返信 編集キー/
■30481 / inTopicNo.2)  Re[1]: パーシャルクラスでフレームワークの標準クラスを拡張したい
□投稿者/ なちゃ (241回)-(2008/12/24(Wed) 17:44:15)
拡張メソッドでどうにか出来ないですかね?

今やろうとされている方向では多分無謀な気がします。

引用返信 編集キー/
■30485 / inTopicNo.3)  Re[2]: パーシャルクラスでフレームワークの標準クラスを拡張したい
□投稿者/ 鶏唐揚 (321回)-(2008/12/24(Wed) 18:42:14)
No30481 (なちゃ さん) に返信
> 拡張メソッドでどうにか出来ないですかね?
>
> 今やろうとされている方向では多分無謀な気がします。
>
返信ありがとうございます。

やはり無理ですか…拡張メソッドもVB2008からの機能なので
断念します。普通に別クラスでいきます

一応解決
#とはいいつつ研究はしたいので情報等あればご教示願いします
解決済み
引用返信 編集キー/
■30486 / inTopicNo.4)  Re[1]: パーシャルクラスでフレームワークの標準クラスを拡張したい
□投稿者/ aetos (56回)-(2008/12/24(Wed) 19:14:21)
No30479 (鶏唐揚 さん) に返信
> お世話になっております。
> 今回、Arrayに関するメソッドを作っています。
> このメソッドはわずか2つほどなのですが、共通で使うためクラスファイルではなくDLLとして作成しています。
>
> たった1つ2つのメソッドを、わざわざ別クラスとしたりArrayを継承したりするのも大げさなので
> Arrayのパーシャルで作ってやれば標準と同じ感覚Array.xxxとするだけで使えるかも?と思い、以下を試みました

パーシャルというのは同時にコンパイルするコード群でのみ可能です。
コンパイルした後のバイナリにはパーシャルかどうかというデータは残りませんので、コンパイル後のバイナリに対して手を加えることはできません。
引用返信 編集キー/
■30495 / inTopicNo.5)  Re[2]: パーシャルクラスでフレームワークの標準クラスを拡張したい
□投稿者/ 鶏唐揚 (322回)-(2008/12/24(Wed) 23:31:54)
No30486 (aetos さん) に返信
> パーシャルというのは同時にコンパイルするコード群でのみ可能です。
> コンパイルした後のバイナリにはパーシャルかどうかというデータは残りませんので、コンパイル後のバイナリに対して手を加えることはできません。
どうやらパーシャルクラスというものを勘違いしていたようでした…

ご教示ありがとうございます、やはり変なことは考えず普通にクラス作っていきます^^;

お騒がせしました
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -