C# Type的问题

QQ图片20191011112030.png

        Type t=typeof(Myclass);

Console.WriteLine(t.Name);

Console.WriteLine(t.GetFields()[0].Name);

Console.ReadLine();

这是个抽象类,不能有实例。

为什么代码可以创建实例。

还有实际返回的 typeof(Myclass);

具体是什么对象?是它的派生类??

回答:

typeof 运算符实际返回的是一个 System.Reflection.TypeInfo 对象,它继承自 System.Type。

当然了,TypeInfo 本身也是没有 public 构造函数的,你还是不能手动实例化出来。

之所以这么设计,就是想隐藏内部实现、不让开发者自己能手动实例化出一个 System.Type 对象。

回答:

这是个抽象类,不能有实例。
为什么代码可以创建实例。
还有实际返回的 typeof(Myclass);
具体是什么对象?是它的派生类??

你已经自己回答了自己的问题。

这里的实例应该是 Type 的派生类的实例。

具体是什么类型,可以用 t.GetType() 看看 (Object.GetType

以上是 C# Type的问题 的全部内容, 来源链接: utcz.com/p/189422.html

回到顶部