PropertyInfo对象允许您调用对象上的属性:
为了简单起见,我们假设属性的值需要始终作为字符串返回。
public string GetTheValueOfTheProperty(PropertyInfo propertyInfo,Object myObject){
string propname = propertyInfo.Name;
if (propName == "IsSelected"){
return myObject.IsSelected.ToString();
}
//...
}
这是有效的,但如果我不知道房产的名称,它就不起作用。在这种情况下我该怎么做?
http://msdn.microsoft.com/en-us/library/system.reflection.propertyinfo.getvalue.aspx
您可以拨打propertyInfo.GetValue(myObject, null);
。
您可以使用ToString()
转换为string
,但您应该首先检查null
值,否则您将获得NullReferenceException
。
object value = propertyInfo.GetGetMethod().Invoke(myObject, new object[] { });