在 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的值,并将其打印输出。

C# 获取类属性值:不使用反射的字符串方法

原文地址: https://www.cveoy.top/t/topic/pV7k 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录