C# 反射查找对象属性:示例代码与性能考量
要查找C#对象中的某个属性,可以使用反射来实现。
首先,使用Type.GetType方法获取对象的类型。然后,使用GetProperty方法获取属性的PropertyInfo对象。最后,通过PropertyInfo.GetValue方法获取属性的值。
以下是一个示例:
using System;
using System.Reflection;
public class MyClass
{
public string MyProperty { get; set; }
}
public class Program
{
public static void Main(string[] args)
{
MyClass obj = new MyClass();
obj.MyProperty = 'Hello, World!';
// 查找属性
PropertyInfo property = obj.GetType().GetProperty('MyProperty');
// 获取属性值
string value = (string)property.GetValue(obj);
Console.WriteLine(value); // 输出 'Hello, World!'
}
}
在上面的示例中,我们创建了一个名为MyClass的类,其中包含一个名为MyProperty的属性。我们创建了一个MyClass对象,并将MyProperty的值设置为'Hello, World!'。然后,使用反射查找MyProperty属性,并获取其值。
请注意,反射可能会导致性能下降,因此请谨慎使用。如果可能,最好直接访问对象的属性,而不是使用反射。
原文地址: http://www.cveoy.top/t/topic/mzCd 著作权归作者所有。请勿转载和采集!