代码之家  ›  专栏  ›  技术社区  ›  Odrade

访问结构的字段

  •  4
  • Odrade  · 技术社区  · 17 年前

    为什么下面的代码不产生输出?

    static void Main(string[] args)
    {
        FieldInfo[] fi = typeof(MyStruct).GetFields(BindingFlags.Public);
        foreach (FieldInfo info in fi)
        {
            Console.WriteLine(info.Name);
        }
    }
    
    public struct MyStruct
    {
        public int one;
        public int two;
        public int three;
        public int four;
        public int five;
        public int six;
        public bool seven;
        public String eight;
    }
    
    1 回复  |  直到 13 年前
        1
  •  20
  •   Jake Pearson    17 年前

    您还需要或在实例绑定中。将代码更改为:

    FieldInfo[] fi = typeof(MyStruct).GetFields(BindingFlags.Public | BindingFlags.Instance);
    foreach (FieldInfo info in fi)
    {
        Console.WriteLine(info.Name);
    }