問題は、私が変更できないクラスのオブジェクトに少し余分な機能が必要なことです(私はデータバインディングサポートを追加しようとしています)。 私が考えることができる最高のソリューションは、この機能を持つ派生クラスを書くことです。だから私はこのクラスのオブジェクトを使うことができます。ですから、今問題は新しいクラスのオブジェクトをどのように初期化するのですか?元のオブジェクトをパラメータとしてコンストラクタを作成し、このオブジェクトの値で派生オブジェクトを初期化することもできますが、これは賢明な解決策ではないようです。 ObjectOfAnUnchangeableClassがMyDerivedClassを知らないので、これは動作しません。原因オブジェクトをより特殊なオブジェクトに「キャスト」することは可能ですか?
// MyDerivedClass is derived from ObjectOfAnUnchangeableClass.
MyDerivedClass Obj = ObjectOfAnUnchangeableClass as MyDerivedClass;
:私のような何かを行うことができれば それはいいだろう。別の考え方は、オブジェクトで「初期化」できるコンストラクタを持つことです。次のようなものがあります:
ここでは、ベースコンストラクタに新しいオブジェクトを作成させるのではなく、それは単に既存のオブジェクトを取ることができます。
だから私は二つの質問があります。
- は、上記のようなサポート何か.NETでいくつかの概念がありますか?
- 変更できないクラスに特別な機能を追加するにはどうすればよいでしょうか?
だから私はこの道を取ると思います。これは:http://stackoverflow.com/questions/124336/a-way-of-casting-a-base-type-to-a-derived-type私にも最初の質問に答えました。 – uli78