単純な get set プロパティを持つ別の poco クラスを含むクラスがあります。
public class PersonalInformation {
public string FirstName { get; set; }
public string FirstSomethingElse { get; set; }
}
現在のインスタンスの PersonalInformation.FirstName に値があるかどうかを確認したいと思います。リフレクション経由で取得する方法がわかりません:
foreach (PropertyInfo property in this.PersonalInformation.GetType().GetProperties())
{
if (property.Name.Contains("First"))
{
if (property.GetValue(XXX, null) != null)
do something...
}
}
私が持っているインスタンスは「これ」ですが、これは機能しません。これも this.PersonalInformation. 私は何を間違っていますか?
ご回答ありがとうございます。
アルド
補遺: ASP.NET MVC3 を使用しています。私のかみそりのビューでは、次のことを非常に簡単に行うことができます。
foreach (var property in Model.PersonalInformation.GetType().GetProperties())
{
<div class="editor-line">
@if (property.Name != null)
{
<label>@(property.Name)</label>
@Html.Editor(property.Name)
}
</div>
}
フィールドの現在の値を返す property.Value メンバーがあります。上記のように、このフィールドは poco クラスから取得されます。コード ビハインドの同等のコードは何ですか?