获取null数组的类型

Tim*_*dge 1 .net c# types

我正在研究一些序列化例程,我需要一种方法来获取输入数组的类型.

假设我有以下对象:

class myclass {
    public int foo;
    public byte[] bar;
}
Run Code Online (Sandbox Code Playgroud)

现在我可以myclass.foo通过使用获得类型GetType().如果我说" myclass.bar = new byte[0]",我可以推断,bar是通过使用一个字节数组GetElementType(),HasElementTypeIsArray.

但是,如果我从未设置bar并将其保留为null,我找不到从对象获取类型信息的方法.如果我这样做,myclass.foo.GetType()我得到的是一个空值.

在这种情况下,有没有推断出"酒吧"的类型?

Meh*_*ari 5

不存在的对象没有类型.获取null引用的类型没有意义.您正在寻找的实际上是该领域的类型.您可以通过反映声明字段的类型(在本例中myclass)来获得该结果.