我发现了很多关于 CLS 合规性的页面。
我已经了解 CLS 合规性:
许多人写道:“如果您编写代码,则应该编写符合 CLS 的代码。” 但据我所知,没有理由在通用软件中使用 CLS 合规性。
我是对的,还是我错过了什么?
我发现了很多关于 CLS 合规性的页面。
我已经了解 CLS 合规性:
许多人写道:“如果您编写代码,则应该编写符合 CLS 的代码。” 但据我所知,没有理由在通用软件中使用 CLS 合规性。
我是对的,还是我错过了什么?
如果您编写一个库或框架,那么确保您的库可以从任何 CLR 语言中使用是有意义的。
如果您要分发库,则 CLS 合规性尤其重要 - 具体而言,编写符合 CLS 的保证您的库将可用于所有符合 CLS 的语言。
例如,Visual Basic 不区分大小写,而 C# 是。CLS 合规性的要求之一是公共(和受保护的)成员名称不应仅按大小写不同,从而确保您的库可以由 Visual Basic 代码或任何其他不区分基于案子。
答案是允许跨 .NET 语言的最大兼容性。CLS 是一种通用语言,它允许 C# 程序集与 F#、Iron Python、C++/CLI、VB.NET、Boo 和所有其他 .NET 语言一起使用。跨出该边界,您的装配可能会正常工作,但不一定。
让您的代码符合 CLS可能没有特定的原因,但人们将其称为“最佳实践”——您应该这样做,因为这是一个好习惯,而不是在特定情况下明显更好。
换句话说,使您的代码符合 CLS是一个好主意,除非您有理由不这样做。