【问题标题】:What is the purpose of the CLS in the .NET framework?.NET 框架中 CLS 的用途是什么?
【发布时间】:2013-07-27 21:44:46
【问题描述】:

我对 .NET Framework 中 CLS(公共语言规范)的用途感到困惑。

我的理解是,使用 .NET,我们可以用一种语言编写库并以另一种语言使用它,并且 CLR 支持此功能。我确实知道 CLS 的目的是与其他对象完全交互,而不管它们是用什么语言实现的。

究竟什么是 CLS;它的目的是什么?

【问题讨论】:

  • 投反对票的人可能不清楚你在问什么。

标签: .net specifications cls


【解决方案1】:

CLS 是针对组件开发人员和编译器编写者的指南。它指定了什么是允许的,什么是不允许的,以便生成组件,并构建对语言的支持,以便它们是可移植的 - 并且完全兼容所有CLS兼容的语言可以使用/交互在CLR 中运行。

虽然CLR 具有由实现公开和强制执行的规范。 CLS 只是一个指导方针。您仍然可以编写破坏CLS 的组件,但在CLR 中可以正常工作。但在这种情况下,它们可能无法与某些语言互操作。

显然,CLS 对于编译器作者和语言设计者来说非常重要。但即使作为组件开发人员,如果您正在努力实现完全的互操作性,请务必遵守CLS 的规定。

【讨论】:

    【解决方案2】:

    我认为使用 .Net,我们可以用一种语言编写一个库,然后用另一种语言来使用它,为此,有 CLR,什么是 CLS 确切地说,它的目的是什么?

    虽然这种语言集成非常棒,但事实上编程语言是非常不同的,所以为了帮助您或让CLR 实现这一点-

    Microsoft 已经定义了通用语言规范 (CLS) 编译器供应商的详细信息 他们的最小功能集 编译器必须支持,如果这些编译器要生成类型 与其他 CLS 兼容编写的其他组件兼容 CLR 之上的语言。

    【讨论】:

      猜你喜欢
      • 2016-11-06
      • 2017-01-31
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 2010-11-28
      • 1970-01-01
      相关资源
      最近更新 更多