我有一个包含简单的获取设置的属性另一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