3
我使用Castle DynamicProxy在運行時創建給定類型的代理 - 包括一對mixin。是否可以通過DynamicProxy將屬性添加到類型?
我試圖找出是否有可能也是任意屬性代理添加,例如:
class BaseType
{
string Foo { get; set; }
}
,並在運行時,我創建了一個新的類型,應該是這樣的:
class BaseTypeProxy3848484etc
{
string Foo { get; set; }
OtherType Bar { get; set; }
}
從理論上來說,看起來應該是有可能 - 也許我只是沒有看到如何做到這一點與城堡......任何想法?謝謝!
你可以使用一個mixin或讓代理實現一個initerface來公開這個屬性 – 2010-08-03 03:23:07
,這幾乎是我已經完成的,但不是我需要做的 - 當代理是新的屬性名稱時需要確定創建...在運行時 - 想到這樣,編譯時,說我有Prop1,Prop2,Pro3等...然後我需要添加Prop1Metadata,Prop2Metadata,Prop3Metadata等...有道理? (thx爲快速回復) – Bobby 2010-08-03 03:29:56
是的,它確實有道理。不,現在還不可能,至少不是現成的。你可以擴展DP來增加它,但目前它不會很容易,因爲DP非常專注於做它所做的 - 代理,這排除了像這樣的場景。 – 2010-08-03 03:58:54