如果我在运行时不知道属性名称,如何返回属性的值
本文关键字:属性 何返回 返回 运行时 不知道 如果 | 更新日期: 2023-09-27 17:58:42
为了简单起见,我们假设属性的值需要始终作为字符串返回。
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[] { });