我正在尝试循环访问一个简单静态类中的一些静态属性,以便将它们的值填充到组合框中,但是遇到了困难。
这是简单的类:
public static MyStaticClass()
{
public static string property1 = "NumberOne";
public static string property2 = "NumberTwo";
public static string property3 = "NumberThree";
}
...和试图检索这些值的代码:
Type myType = typeof(MyStaticClass);
PropertyInfo[] properties = myType.GetProperties(
BindingFlags.Public | BindingFlags.Static | BindingFlags.DeclaredOnly);
foreach (PropertyInfo property in properties)
{
MyComboBox.Items.Add(property.GetValue(myType, null).ToString());
}
如果我没有提供任何绑定标志,那么我会得到大约57个属性,包括System.Reflection.Module Module和所有其他继承的东西,这些都不重要。 我声明的3个属性不存在。
如果我提供其他标志的各种组合,它总是返回0个属性。 太好了。
我的静态类实际上是在另一个非静态类中声明的,这有关系吗?
我做错了什么?