【问题标题】:Is there any practical use of "Void" structure in .NET.NET 中是否有“Void”结构的实际用途
【发布时间】:2010-08-26 20:25:30
【问题描述】:

只是好奇,“Void”有什么实际用途struct

反射除外?

【问题讨论】:

  • 如果我们可以将它用作类型参数,对于不需要/相关的泛型类来说,那将是很酷的。例如:public class SomeServiceWithoutResponse : BaseService<MyRequestType, Void>.

标签: c# .net void


【解决方案1】:

System.Void 等效于 void 关键字。查看void的工具提示,会显示

结构 System.Void

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

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

错误 CS0673: System.Void 不能在 C# 中使用 -- 使用 typeof(void) 来获取 void 类型对象

那么,就只剩下反思的话题了。

【讨论】:

    【解决方案2】:

    我认为,但我不确定,编译器使用这个结构来为返回类型为 void 的函数生成 il

    【讨论】:

    • +1,没错。 System.Void 可以在 C++/CLI 语言中按原样使用。
    【解决方案3】:

    文档说,

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

    所以我怀疑。

    【讨论】:

      猜你喜欢
      • 2013-05-14
      • 2010-12-05
      • 2011-02-24
      • 1970-01-01
      • 2011-04-02
      • 2019-05-17
      • 2015-04-22
      • 2021-07-22
      • 1970-01-01
      相关资源
      最近更新 更多