2012-04-13 7 views
3

特定のオブジェクトに属性を追加しようとしています。このオブジェクトは、int、string、Listなどです。実行時にオブジェクトに属性を追加していない場合は、

は私が

TypeDescriptor.AddAttributes(object, attrList.ToArray());

を使用しようが、私はやるときの属性のリストが表示されません。

object.GetType().GetCustomAttributes(false)

どのように来ますか?

敬具、

ガブリエルPaulsson

答えて

6

は、残念ながら、この方法は、動的に最終的にはそれだけであなたが追加された属性が含まれてTypeDescriptorが戻ってあなたを与える、タイプのメタデータを変更しません。

あなたは型メタデータ自体(固定)の労働組合としての型記述子の考えることができる

var myObject = { ... } 

var typeDescriptionProvider = TypeDescriptor.AddAttributes(myObject, attrList.ToArray()); 

var attributes = typeDescriptionProvider.GetTypeDescriptor(myObject).GetAttributes(); 

...ではなく、そこからAddAttributes方法とクエリの戻り値を維持する必要があり、実行時に追加したメタデータ(動的)。

+0

私は、AspNetCompatibilityRequirementsAttributeを動的に追加しようと2〜3時間失ってしまいました。それが私の最後のショットでした。 –

関連する問題