我可以通过foreach或其他循环构造获得成员字段吗?
本文关键字:成员 字段 foreach 可以通过 其他 循环 | 更新日期: 2023-09-27 18:16:58
是我的全局变量。类有1000个成员。
internal class Global
{
internal static int a1;
internal static int a2;
internal static int a3;
...
...
internal static int a1000;
}
当btn1被按下时,我想把它的值保存到如下文件中:
private void button1_Click(object sender, RoutedEventArgs e)
{
foreach( value in member )
{
//put value to file
}
}
如何通过foreach或其他循环结构访问其成员?
最好使用int
数组并循环int
数组而不是Global
,
internal class Global
{
internal static int [] Arr;
}
foreach(int value in Globalmember.Arr)
{
//put value to file
}
虽然您可以使用System. get类的成员。反思,看看这篇文章。下面的示例展示了如何使用System获取属性。反射
Type type = typeof(TestGlobal);
FieldInfo[] fields = type.GetFields(BindingFlags.NonPublic | BindingFlags.Static);
foreach (var field in fields)
{
if(field.Name.StartsWith("a"))
Debug.WriteLine(field.Name);
}
注意您应该以一种可以在字段集合中唯一搜索到的方式命名属性。例如,a
可能出现在您不想要的许多其他属性中,但aaa
不太可能出现在其他属性中。