C# - Get values of static properties from static class

前端 未结 2 1087
一向
一向 2020-12-05 06:33

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 t

相关标签:
2条回答
  • 2020-12-05 07:02

    The problem is that property1..3 are not properties, but fields.

    To make them properties change them to:

    private static string _property1 = "NumberOne";
    public static string property1
    {
      get { return _property1; }
      set { _property1 = value; }
    }
    

    Or use auto properties and initialize their values in the static constructor of the class:

    public static string property1 { get; set; }
    
    static MyStaticClass()
    {
      property1 = "NumberOne";
    }
    

    ...or use myType.GetFields(...) if fields are what you want to use.

    0 讨论(0)
  • 2020-12-05 07:06

    Try removing BindingFlags.DeclaredOnly, because according to MSDN:

    Specifies that only members declared at the level of the supplied type's hierarchy should be considered. Inherited members are not considered.

    Since static's cannot be inherited, this might be causing your issues. Also I noticed the fields you are trying to get are not properties. So try using

    type.GetFields(...)
    
    0 讨论(0)
提交回复
热议问题