我找到了很多关于 CLS 合规性的页面。
我了解到,CLS 的合规性:
许多人写道: “如果您编写代码,那么您应该编写符合 CLS 的代码。” 但就我所知,没有理由在通用软件中使用 CLS 遵从性。
我说的对吗,还是我错过了什么?
也许没有 具体点的理由让你的代码符合 CLS,但是人们认为这是一个“最佳实践”——你应该这样做,因为这是一个好习惯,而不是对于特定场景来说更好。
换句话说,这是个好主意使您的代码符合 CLS,除非您有 没有。
如果您编写一个库或框架,那么确保您的库可以从任何 CLR 语言使用是有意义的。
答案是允许最大的兼容性。NET 语言。CLS 是 通用语,它允许 C # 程序集与 F # 、 Iron Python、 C + +/CLI、 VB.NET、 Boo 和其他所有程序集一起工作。NET 语言。跨出这个界限,您的程序集就可以正常工作,但不一定。
如果您正在分发库,那么 CLS 遵从性尤其重要——具体来说,编写符合 CLS 的库可以保证您的库可以被所有符合 CLS 的语言使用。
例如,VisualBasic 不区分大小写,而 C # 区分大小写。符合 CLS 的要求之一是,公共(和受保护的)成员名称不应仅因大小写而不同,从而确保您的库可以由 VisualBasic 代码或任何其他代码安全地使用。NET 语言,不区分大小写。