使用属性名称动态检索属性值
以编程方式访问属性值在各种场景中都很有用,例如动态对象操作或数据序列化。在 .NET 中,您可以使用反射来实现此目的。
要根据属性名称检索属性的值,您可以使用 Type 类的 GetProperty 方法。它将属性名称作为参数并返回 PropertyInfo 对象。该对象代表指定的属性,并允许您操作其行为和数据。
要获取属性值,可以调用 PropertyInfo 对象的 GetValue 方法。此方法采用要从中检索值的对象和一个可选索引值数组(对于非索引属性,通常为 null)。
以下示例演示了如何编写通过以下方式检索属性值的方法: name:
public string GetPropertyValue(object obj, string propertyName) { var property = obj.GetType().GetProperty(propertyName); return (string)property.GetValue(obj, null); }
在给定的示例类中,您可以按如下方式调用此方法:
var car = new Car { Make="Ford" }; var make = GetPropertyValue(car, "Make");
这将分配Make 属性 (Ford) 的值赋给 make 变量。请注意,属性值作为对象返回,可能需要转换为适当的类型。
以上是如何使用反射动态检索 .NET 中的属性值?的详细内容。更多信息请关注PHP中文网其他相关文章!