【问题标题】:What types are required by C#? [duplicate]C# 需要哪些类型? [复制]
【发布时间】:2011-08-10 02:34:16
【问题描述】:

可能重复:
Which parts of C# .NET framework are actually parts of the language?

C# 的某些特性需要特定类型(“类型必须实现System.IDisposable”)。其他功能基于模式(“任何类型看起来像一个名为 Select() 的方法并带有正确的签名”)。

C# 从库中需要的最小类型集是什么(上面的前一种情况)?这与 VB.NET 和 F# 等其他语言有何不同?

【问题讨论】:

  • 我记得最近看到了一个类似的问题...看着
  • 我确定我之前已经回答过这个问题,但是如果我现在能找到它,我会感到震惊......
  • @Jon - 是的,我记得我们一直在添加诸如 ObsoleteAttribute、ConditionalAttribute 等内容
  • @Henk - 是的,就是这个,ta
  • @Henk:很好看。这就是我想的那个:)

标签: c# .net vb.net f# base-class-library


【解决方案1】:

IDisposable 是一个接口,.Net 提供接口作为开发基于契约的 API 的一种手段,而不是依赖于具体的类。例如,它让你说,'任何类型,只要它有一个名为 Dispose() 的方法'

这与 C# 类型系统无关,也与原始类型无关。

【讨论】:

  • “任何类型只要它有一个名为Dispose()的方法”不同于“任何实现IDisposable的类型”。
  • 它与 C# 类型系统有关,因为 C# 规范要求它用于 using 语句。这就是问题的重点:如果您要在不同的平台上实现 C# 规范,您会必须拥有哪些类型?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-30
  • 1970-01-01
  • 2012-05-01
相关资源
最近更新 更多