如何循环遍历.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;}

如何循环这些并分配值,最好不使用反射?有没有一种方法可以将对属性的引用放入集合中并对其进行迭代?

如何循环遍历.net对象的所有setter

假设您有第三方库的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方法将它们分配给一个值。