我为什么要编写符合CLS的代码?

时间:2009-12-01 20:11:40

标签: c# cls-compliant

我发现了很多关于CLS合规性的网页。

我了解CLS合规性:

许多人写道“如果你编写代码,你应该把它写成符合CLS的。” 但据我所知,没有理由在通用软件中使用CLS。

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

4 个答案:

答案 0 :(得分:44)

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

答案 1 :(得分:41)

如果您正在分发库,CLS合规性尤为重要 - 特别是,编写符合CLS的保证,您的库可以被所有符合CLS的语言使用。

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

答案 2 :(得分:16)

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

答案 3 :(得分:11)

可能没有特定的理由让您的代码符合CLS,但人们指的是它是“最佳实践” - 您应该这样做,因为这是一个好习惯,而不是对特定情况更好。

换句话说,除非你有的理由,否则使你的代码符合CLS是个好主意