5

假设我正在用 C# 编写一个库,但我不知道谁会使用它。

库的公共接口有一些无符号类型——uint、ushort。显然,这些类型不符合 CLS,并且从理论上讲,可能存在无法使用它们的语言。

现实中有这样的语言吗?

4

4 回答 4

5

我相信在 VB.NET 的原始版本中,无符号类型是可用的,但语言中不支持它们。当然,这已在以后的版本中得到解决。

此外,我怀疑现在已经失效的 J# 不支持无符号类型(假设 Java 没有)。

于 2008-12-13T08:57:27.657 回答
5

.NET 兼容性和 CLS 合规性是两个不同的东西。任何可以以某种方式与 .NET 框架一起工作的东西都可以说是与它兼容的。CLS 合规性更加严格。它为语言实现者和库设计者提供了一套规则,以创建相互兼容的语言和库的生态系统。

像 CLS 这样的东西的全部意义在于让您避免研究语言的每个示例并弄清楚如何支持它们。如果您想这样做,您可以这样做,但另一种选择是遵守 CLS,因此知道您将与也符合 CLS 的任何其他事物(从过去现在或未来)兼容。

于 2008-12-13T11:02:31.993 回答
1

如果今天没有,明天可能会有。

于 2008-12-13T21:22:04.423 回答
0

视觉基础..?

于 2008-12-13T08:16:01.267 回答