0

可能重复:
C#如何通过反射获取字符串属性的值?
在 C# 中使用反射从字符串中获取属性值

当我有一个字符串时,我想将它与我所有的属性名称进行比较。匹配时,如何返回此属性的值?

类 = 设置

设置有 2 个属性。

当我有一个与属性名称之一相同的字符串时。如何返回该属性的值?

谢谢。

4

2 回答 2

3

您可以使用反射来读取属性名称和值。例如,要获取某个类型的公共属性列表,您可以使用GetProperties方法:

var properties = typeof(Setting);
foreach (var prop in properties)
{
    // here you can access the name of the property using prop.Name
    // if you want to access the value you could use the prop.GetValue method
}
于 2012-07-09T07:31:31.507 回答
1

您可以使用反射来获取类的属性,您可以通过类似的方式来实现这一点。

PropertyInfo[] propertyInfos;
propertyInfos = typeof(MyClass).GetProperties(BindingFlags.Public |
                                              BindingFlags.Static);


foreach (PropertyInfo propertyInfo in propertyInfos)
{
  if (propertyInfo.Name == yourString)
  {
       return yourString;
  }
}
于 2012-07-09T07:32:35.173 回答