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: 690

Filed under:
|
|
|
|

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

Related posts about c#

Related posts about properties