C# 获取类属性值:不使用反射的字符串方法
在 C# 中,可以使用PropertyInfo类来获取类的属性值,而不使用反射。以下是一个示例代码:
public class MyClass
{
public string MyProperty { get; set; }
}
public class Program
{
public static void Main()
{
MyClass myObject = new MyClass();
myObject.MyProperty = "Hello World";
string propertyName = "MyProperty";
string propertyValue = GetPropertyValue(myObject, propertyName);
Console.WriteLine(propertyValue);
}
public static string GetPropertyValue(object obj, string propertyName)
{
Type type = obj.GetType();
PropertyInfo propertyInfo = type.GetProperty(propertyName);
if (propertyInfo != null)
{
return propertyInfo.GetValue(obj).ToString();
}
return null;
}
}
在上述代码中,我们定义了一个MyClass类,其中包含一个名为MyProperty的属性。然后,我们在Main方法中创建了一个MyClass对象,并为MyProperty赋值。
接下来,我们定义了一个GetPropertyValue方法,该方法接收一个对象和属性名作为参数,并返回属性的值。在该方法中,我们首先获取对象的Type,然后使用GetProperty方法获取指定属性的PropertyInfo对象。最后,我们通过GetValue方法获取属性的值,并将其转换为字符串返回。
在Main方法中,我们调用GetPropertyValue方法来获取MyProperty的值,并将其打印输出。
原文地址: https://www.cveoy.top/t/topic/pV7k 著作权归作者所有。请勿转载和采集!