【问题标题】:Call Property based on a string of its name根据名称的字符串调用 Property
【发布时间】:2016-08-02 09:13:20
【问题描述】:

我需要根据类名的字符串值调用类的公共属性,因为直到运行时我才知道需要哪些属性。我试图使用反射失败。该类如下所示:

class FieldCalculation
{
    public string MyValue
    {
        get
        {
            return "Test Data";
        }
    }
}

我认为访问属性的值应该是这样的:

FieldCalculation myClass = new FieldCalculation();
string value = myClass.GetType().GetProperty("MyValue");

任何帮助将不胜感激。

【问题讨论】:

标签: c# reflection properties


【解决方案1】:

你几乎拥有它。您所做的是获取属性定义。您需要询问该属性以获取值,然后将实例传递给它。这是工作代码:

FieldCalculation myClass = new FieldCalculation();
string value = (string)myClass.GetType().GetProperty("MyValue").GetValue(myClass);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多