2012-06-11 62 views

回答

2

您可以創建一個接口並將該屬性添加到接口。

不是使用Improptu:http://code.google.com/p/impromptu-interface/

IMyInterface instance = Impromptu.ActLike<IMyInferface>(myexpando); 
+0

感謝您的回答。我真的很喜歡它,但如果可能的話,我想堅持使用.net內置功能。可以在不使用外部庫的情況下完成嗎? – Notbad

+0

問題是,你想要達到什麼目的?一個自定義的TypeDescriptor將是一種方法。另一種解決方案是圍繞您的expando對象編寫一個包裝類。 –

+0

我正在使用一個將C#類映射到數據庫表的ORM。我想能夠動態生成這個。問題是ORM使用成員vars修飾來添加元信息,比如它是一個主鍵,唯一的等等......所以,我現在可以創建一個ExpandoObject並用所需的成員填充它,但不能添加自定義屬性(裝飾)讓ORM按預期在需要查詢時工作等等... – Notbad