如何循环遍历.net对象的所有setter
本文关键字:对象 setter net 遍历 何循环 循环 | 更新日期: 2023-09-27 18:00:37
我正在使用第三方库中的一个对象(意味着我无法修改它的结构)。此对象有12个字符串设置器属性,分别命名为HI01、HI02,。。。HI12:
public string HI01 {get; set;}
public string HI02 {get; set;}
...
public string HI12 {get; set;}
如何循环这些并分配值,最好不使用反射?有没有一种方法可以将对属性的引用放入集合中并对其进行迭代?
假设您有第三方库的object o
:
foreach (PropertyInfo pi in o.GetType().GetProperties())
{
pi.SetValue(o, "Your Value");
}
您可以像这样获取属性,而无需获取setter方法:
var properties = typeof(yourType)
.GetProperties()
.Where(x => x.Name.StartsWith("HI"));
然后使用SetValue
方法将它们分配给一个值。