2
私は多くのプロパティ()を持つ大きなクラスを持っています。私は新しいクラス(SmallClass
)にそれらのプロパティのうちのいくつかだけを作る必要があります。このSmallClass
は、重複するプロパティーのすべてをBigClass
から使用する必要があります。私は以下を行うように手動でSmallClass
のコンストラクタ内のすべてのプロパティを割り当てることなく、これを行う最も簡単な方法は何ですか:いくつかのプロパティを新しいコンストラクタにコピーします
class BigClass
{
public int A { get; }
public int B { get; }
public int C { get; }
public int D { get; }
public int E { get; }
public BigClass(int a, int b, int c, int d, int e)
{
A = a;
B = b;
C = c;
D = d;
E = e;
}
}
class SmallClass
{
public int A { get; }
public int B { get; }
public int C { get; }
public SmallClass(BigClass bigClass)
{
// I don't want to do all this manually:
A = bigClass.A;
B = bigClass.B;
C = bigClass.C;
}
}
これはまったく必要ですか? 'BigClass'は' SmallClass'から継承できますか?そうでない場合、リフレクションなどを使ってループを実行すると、 'BigClass'と' SmallClass'の両方が誤って同じプロパティ名を取得しても完全に無関係の目的で使用された場合、長期的にはどうなりますか? –
http://automapper.org/をご覧ください – Lucian
私はAutoMapperのファンでもあります –