当我有一个字符串时,我想将它与我所有的属性名称进行比较。匹配时,如何返回此属性的值?
类 = 设置
设置有 2 个属性。
当我有一个与属性名称之一相同的字符串时。如何返回该属性的值?
谢谢。
当我有一个字符串时,我想将它与我所有的属性名称进行比较。匹配时,如何返回此属性的值?
类 = 设置
设置有 2 个属性。
当我有一个与属性名称之一相同的字符串时。如何返回该属性的值?
谢谢。
您可以使用反射来读取属性名称和值。例如,要获取某个类型的公共属性列表,您可以使用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
}
您可以使用反射来获取类的属性,您可以通过类似的方式来实现这一点。
PropertyInfo[] propertyInfos;
propertyInfos = typeof(MyClass).GetProperties(BindingFlags.Public |
BindingFlags.Static);
foreach (PropertyInfo propertyInfo in propertyInfos)
{
if (propertyInfo.Name == yourString)
{
return yourString;
}
}