我的类型Employee
的公共属性为BaseInfo
类型,名为Position
和Department
。
我该如何正确编写此方法?
public BaseInfo GetPropertyByName(Employee employee, string propertyName)
答案 0 :(得分:1)
typeof(Employee).GetProperty(propertyName)
获取PropertyInfo对象。
要获取该特定实例的属性值,请使用:
public BaseInfo GetPropertyByName(Employee employee, string propertyName)
{
var propInfo = typeof(Employee).GetProperty(propertyName);
return propInfo.GetValue(employee) as BaseInfo;
}
但是,如果您请求的属性不是BaseInfo,则返回null。