5 c#
我是C#编程的新手(来自C++)
我的问题是:在C#中,每个类型都继承自Object为什么'void'不会?它会导致一些RT /类型安全问题,还是只是语义/语法?
(我知道int/char等''base type'和装箱/拆箱 - 我的问题是针对void的)
谢谢
dtb*_*dtb 11
在C#中,void是一个在两个上下文中使用的关键字:
在方法签名的上下文中,void表示没有返回类型; 它没有引用可以继承的类型"void" object.
(在反射,返回类型一直被指定.由于这个原因,有一个System.Void在框架类型,但void并System.Void不能互换使用.)
在不安全的上下文中,void*是指向未知类型的指针类型.正如@Colin Mackay链接的博客文章中所提到的,指针类型不会继承,尽管它们可以转换为一个.object
并非一切都从Object继承 - 这是一个普遍的神话.接口不从Object继承.
有关详细信息,请参阅此处:http://blogs.msdn.com/ericlippert/archive/2009/08/06/not-everything-derives-from-object.aspx