这是我的全局变量。该班有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或其他循环结构访问其成员?
答案 0 :(得分:4)
最好有int
数组并循环int
数组而不是Global
,
internal class Global
{
internal static int [] Arr;
}
foreach(int value in Globalmember.Arr)
{
//put value to file
}
虽然您可以使用System.Reflection来获取课程成员,但请参阅此post。以下示例显示了如何使用System.Reflection
获取属性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
不太可能出现在其他属性中。