我找到了很多关于 CLS 合规性的页面。

我了解 CLS 合规性:

许多人写道:“如果您编写代码,则应将其编写为CLS。”但是,就我可以阅读的是,没有理由在通用软件中使用CLS合规性。

我是对的,还是我错过了什么?

有帮助吗?

解决方案

如果您编写一个库或框架,那么确保您的库可以从任何 CLR 语言中使用是有意义的。

其他提示

如果您要分发库,那么 CLS 合规性尤其重要 - 具体来说,编写符合 CLS 的库可以保证您的库可供所有符合 CLS 的语言使用。

例如,Visual Basic 不区分大小写,而 C# 则区分大小写。CLS 合规性的要求之一是公共(和受保护)成员名称不应仅在大小写上有所不同,从而确保 Visual Basic 代码或任何其他不根据大小写进行区分的 .NET 语言可以安全地使用您的库。案件。

答案是允许跨 .NET 语言的最大兼容性。CLS 是 通用语 它允许 C# 程序集与 F#、Iron Python、C++/CLI、VB.NET、Boo 和所有其他 .NET 语言一起使用。走出该边界,您的程序集可能会正常工作,但不一定。

可能没有 具体的 您的代码符合 CLS 的理由,但人们将其称为“最佳实践”——您应该这样做,因为这是一个好习惯,而不是针对特定场景明显更好。

换句话说, 是个好主意 使您的代码符合 CLS,除非您有理由 不是 到。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top