c# - valid - ¿Por qué debería escribir código compatible con CLS?
summary c# documentation (4)
El cumplimiento de CLS es particularmente importante si está distribuyendo bibliotecas, específicamente, al escribir garantías compatibles con CLS de que sus bibliotecas serán utilizables por todos los idiomas que cumplen con CLS.
Por ejemplo, Visual Basic no distingue entre mayúsculas y minúsculas, mientras que C # sí lo es. Uno de los requisitos del cumplimiento de CLS es que los nombres de los miembros públicos (y protegidos) no deben diferir solo por caso, garantizando así que sus bibliotecas se puedan usar de forma segura mediante el código de Visual Basic o cualquier otro lenguaje .NET que no diferencie basado en caso.
Encontré muchas páginas sobre el cumplimiento de CLS.
Entendí que el cumplimiento de CLS:
- Es una forma de garantizar una compatibilidad de ensamblaje diferente .
- Es una forma de declarar el código de alta seguridad
Muchas personas escriben que "si escribes código, debes escribirlo cumpliendo CLS". Pero hasta donde puedo leer, no hay ninguna razón para usar el cumplimiento de CLS en un software genérico.
¿Estoy en lo cierto o me perdí algo?
La respuesta es permitir la máxima compatibilidad en los lenguajes .NET. CLS es la lengua franca que permite que los ensamblajes de C # funcionen con F #, Iron Python, C ++ / CLI, VB.NET, Boo y todos los demás lenguajes .NET. Salga de ese límite y su conjunto puede funcionar correctamente, pero no necesariamente.
Puede que no haya una razón específica para que su código sea compatible con CLS, pero las personas se refieren a que es una "mejor práctica", algo que debe hacer porque es un buen hábito, en lugar de ser sensiblemente mejor para un escenario particular.
En otras palabras, es una buena idea hacer que su código CLS sea compatible a menos que tenga una razón para no hacerlo.
Si escribe una biblioteca o un marco, tiene sentido asegurarse de que su biblioteca se pueda utilizar desde cualquier lenguaje CLR.