假設我們有一個匿名類型的實例:有沒有簡潔的方式來裝飾一個匿名類型?
var b = new {
Length = 5
, Width = 6
// 40 more properties
};
,我們希望創建一個不同的匿名類型,它具有所有的相同的部件,第一類型的實例,以作爲第一個相同的值例如,而是一個其他成員:
var d = new {
b.Length
, b.Width
// the same 40 more properties, with values from b
, Jiffle = "custard"
};
這是很好的編譯器它將自動計算出什麼我們要調用d
的類型的成員,剛剛從這個初始化。但是,有什麼辦法可以避免必須明確提及我們想複製的所有42個成員?
我不認爲有一個簡單的方法,它肯定像是濫用匿名類型。如果你需要那麼多的字段和類型之間的很多共同性,只需要自己聲明類型。如果您希望動態添加這些字段,ExpandoObject(http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject.aspx)*可能會有所幫助。 – dlev
雖然我同意@dlev,但解決方法是簡單地執行此操作:'var d = new {b,Jiffle =「xyz」};' –
http://stackoverflow.com/questions/478013/how-do- i-create-and-access-a-anonymous-class-passed-as-a-param/478030#478030 –