可能重复:
C# How can I get the value of a string property via Reflection?
Get property value from string using reflection in C#
当我有一个字符串时,我想将它与我的所有属性名称进行比较。如果匹配,我该如何返回此属性的值?
Class = Setting
设置有2个属性。
当我有一个与其中一个属性名称相同的字符串时。如何返回该属性的值?
感谢。
答案 0 :(得分:3)
您可以使用Reflection来读取属性名称和值。例如,要获取某个类型的公共属性列表,可以使用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
}
答案 1 :(得分:1)
你可以使用反射来获取你的类的属性,你可以通过类似的东西来实现这一点。
PropertyInfo[] propertyInfos;
propertyInfos = typeof(MyClass).GetProperties(BindingFlags.Public |
BindingFlags.Static);
foreach (PropertyInfo propertyInfo in propertyInfos)
{
if (propertyInfo.Name == yourString)
{
return yourString;
}
}