2
我有一個有很多屬性的大類(BigClass
)。我需要創建一個新類(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的粉絲,也是 –