提供されたモデル(クラス)にKeyAttribute
を持つプロパティを見つける最も良い方法は何ですか?MVC3:KeyAttributeの取得
私はDataAnnotationsModelMetadataProvider
で試しました。 ModelMetadata
にはKeyAttribute
に関する情報が含まれていません。
提供されたモデル(クラス)にKeyAttribute
を持つプロパティを見つける最も良い方法は何ですか?MVC3:KeyAttributeの取得
私はDataAnnotationsModelMetadataProvider
で試しました。 ModelMetadata
にはKeyAttribute
に関する情報が含まれていません。
var keyAttributedProps = typeof(MyModel).GetProperties()
.Where(p => p.GetCustomAttributes(typeof(KeyAttribute), true).Length == 1);
決して試したことはありませんが、私はTypeDescriptor.GetPropertiesメソッドを使用して、不必要なプロパティを取得できると思います。 MSDNによれば、指定された属性の配列をフィルタとして使用して、指定されたコンポーネントのプロパティのコレクションを返します。
このリンクを確認してください。私はそれが助けてくれることを願っています:MyModel
というモデルクラスについては、以下のようにキー属性を持つプロパティを見つけることができます: http://msdn.microsoft.com/en-us/library/3x9x2kh5.aspx#Y0