2010-08-26 30 views
13

只是好奇任何实际用途的“空隙”结构,在那里的“空白” struct是否有.NET

任何实际用途除了在反思?

+0

如果我们可以使用它作为类型参数,对于不需要/相关的类型的泛型类,这将会很酷。例如:'公共类SomeServiceWithoutResponse:BaseService '。 – rsenna 2014-06-06 23:18:05

回答

7

System.Void功能IL是void关键字等效。检查的void工具提示,它会显示

结构System.Void

但它不能在C#中直接使用,所以你最好忽略它。

尝试使用System.Void将产生编译错误

错误CS0673:System.Void不能从C#中使用 - 使用typeof运算(无效)获取void类型对象

所以那么,它只会成为反思的话题。

2

好文件说,

的空隙结构在System.Reflection命名空间中使用,但在典型应用中很少有用。 Void结构除了从Object类继承的所有类型之外,没有其他成员。

所以我怀疑它。

3

我想,但我不知道,这个结构是使用的编译器生成返回类型为void

+0

+1,这是正确的。 System.Void可以在C++/CLI语言中按原样使用。 – 2010-08-26 21:30:48