代码之家  ›  专栏  ›  技术社区  ›  Timothy Baldridge

获取空数组的类型

  •  1
  • Timothy Baldridge  · 技术社区  · 15 年前

    假设我有以下目标:

    class myclass {
        public int foo;
        public byte[] bar;
    }
    

    现在我可以得到 myclass.foo 利用 GetType() . 如果我这么说” myclass.bar = new byte[0] ”“我可以推断 bar 是一个字节数组,使用 GetElementType() , HasElementType ,及 IsArray .

    然而,如果我从未设定 null ,我找不到从对象中获取类型信息的方法。如果我这样做 myclass.foo.GetType() 我得到的只是一个空值。

    在这种情况下,是否可以推断“酒吧”的类型?

    2 回复  |  直到 15 年前
        1
  •  5
  •   Mehrdad Afshari    15 年前

    null 参考资料。您要查找的实际上是字段的类型。你可以通过对类型进行反思来实现这一点 宣布 myclass ).

        2
  •  4
  •   dsolimano    15 年前

    我认为反思应该有效-

    typeof(myclass).GetField("bar").FieldType