私は抽象基本クラスから派生したいくつかのクラスを持っています。具象クラスは、基本クラスへの参照によってコンテナに格納されます。具体的なクラスには、FixedDocumentのページにバインドするために使用される多くのプロパティがあります。基本プロパティを上書きすることなく追加のプロパティを追加する
具体的なクラスを実行時に追加したい場合は、FixedDocumentページにもバインドされます。デコレータパターンを調べましたが、デコレータクラスのすべての具体的なクラスプロパティをオーバーライドして可視にする必要があるようです。
class BaseClass
{
public string Name { get; set; }
}
class ConcreteClass : BaseClass
{
public int MyProperty { get; set; }
}
class ConcreteClassWrapper : ConcreteClass
{
public int AdditionalProperty { get; set; }
public ConcreteClassWrapper(ConcreteClass cc)
{
base = cc;
}
}
private static void RunTime()
{
List<BaseClass> list = new List<BaseClass>();
ConcreteClass cc = new ConcreteClass()
{
Name = "Original",
MyProperty = 5
};
list.Add(cc);
cc = new ConcreteClassWrapper(cc)
{
AdditionalProperty = 10
};
}
明らかに私はちょうどセットカント「= CCベース」:次のようにベースのプロパティの値を継承する具象クラスから派生したラッパーを追加する方法はあります。これを達成するためにとにかくありますか?それは追加のコンストラクタを持つように
AutoMapper –
「ConcreteClass」を継承しないラッパーで動作するようにバインディングを変更することはできますが、代わりにそのバインディングを含めることができます。バインディングはどのように見えますか? – svick
結合はので、私はただ、基本クラスへのDataContextを設定したいWPFであると性質があるされている場合は、それ以外の場合は空白の –