C# - Get values of static properties from static class
        Posted  
        
            by JamesW
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by JamesW
        
        
        
        Published on 2009-09-28T16:01:59Z
        Indexed on 
            2010/04/07
            13:03 UTC
        
        
        Read the original article
        Hit count: 773
        
I'm trying to loop through some static properties in a simple static class in order to populate a combo box with their values, but am having difficulties.
Here is the simple class:
public static MyStaticClass()
{
    public static string property1 = "NumberOne";
    public static string property2 = "NumberTwo";
    public static string property3 = "NumberThree";
}
... and the code attempting to retrieve the values:
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());
}
If I don't supply any binding flags then I get about 57 properties including things like System.Reflection.Module Module and all sorts of other inherited things I don't care about. My 3 declared properties are not present.
If I supply various combinations of other flags then it always returns 0 properties. Great.
Does it matter that my static class is actually declared within another non-static class?
Please help! What am I doing wrong?
© Stack Overflow or respective owner