我有一個包含簡單的獲取設置的屬性另一POCO類的類:C#簡單反映
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。在我的Razor視圖我可以做很容易以下:
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類。代碼隱藏中的等效代碼是什麼?
你是什麼意思「不起作用」 –
你爲什麼使用反射? –
你有什麼嘗試?你有例外嗎?你應該使用反射? – lesderid