我意识到在Microsoft .NET Framework中,void返回类型是一种结构.为什么?
...
public void TestMethod()
{
}
...
Run Code Online (Sandbox Code Playgroud)
Bol*_*ock 28
该框架使用一个值类型来调用,System.Void以表示void与反射一起使用的返回类型关键字.虽然void意味着缺少返回值,但它在技术上仍然是一种类型,并且为了在代码中表达它,它必须是结构(值类型)或类(引用类型).
请参阅MethodInfo.ReturnType示例.
至于为什么框架设计者选择创建System.Void一个结构而不是一个类是任何人的猜测,但它必须首先由一个类型表示.我同意这些评论是为了避免通常与参考查找相关的不必要的开销,以及其他优化.
| 归档时间: |
|
| 查看次数: |
751 次 |
| 最近记录: |