2011-12-12 6 views
0

提供されたモデル(クラス)にKeyAttributeを持つプロパティを見つける最も良い方法は何ですか?MVC3:KeyAttributeの取得

私はDataAnnotationsModelMetadataProviderで試しました。 ModelMetadataにはKeyAttributeに関する情報が含まれていません。

答えて

0

var keyAttributedProps = typeof(MyModel).GetProperties() 
    .Where(p => p.GetCustomAttributes(typeof(KeyAttribute), true).Length == 1); 
0

決して試したことはありませんが、私はTypeDescriptor.GetPropertiesメソッドを使用して、不必要なプロパティを取得できると思います。 MSDNによれば、指定された属性の配列をフィルタとして使用して、指定されたコンポーネントのプロパティのコレクションを返します。

このリンクを確認してください。私はそれが助けてくれることを願っています:MyModelというモデルクラスについては、以下のようにキー属性を持つプロパティを見つけることができます: http://msdn.microsoft.com/en-us/library/3x9x2kh5.aspx#Y0

関連する問題