我正在使用来自第三方库的对象(意味着我无法修改其结构)。该对象有12个字符串setter属性,名为HI01,HI02,... HI12:
public string HI01 {get; set;}
public string HI02 {get; set;}
...
public string HI12 {get; set;}
如何循环使用这些并分配值,最好不使用反射?有没有办法将属性的引用放入集合并迭代它?
答案 0 :(得分:2)
假设您拥有object o
第三方图书馆:
foreach (PropertyInfo pi in o.GetType().GetProperties())
{
pi.SetValue(o, "Your Value");
}
答案 1 :(得分:1)
您可以获取此类属性,无需获取 setter 方法:
var properties = typeof(yourType)
.GetProperties()
.Where(x => x.Name.StartsWith("HI"));
然后使用SetValue
方法将它们分配给值。