Pregunta

He encontrado una gran cantidad de páginas sobre compatibilidad con CLS.

he entendido que el cumplimiento CLS:

Muchas peolple escriben que "si se escribe código, debería escribirlo compatible con CLS." Pero en lo que puedo leer, no hay ninguna razón para utilizar compatibilidad con CLS en el software genérico.

Estoy en lo cierto, o me he perdido algo?

¿Fue útil?

Solución

Si se escribe una biblioteca o un marco que tiene sentido para asegurar su biblioteca se puede utilizar desde cualquier lenguaje CLR.

Otros consejos

CLS-cumplimiento es especialmente importante si usted está distribuyendo bibliotecas -. Específicamente, la escritura garantías compatible con CLS que sus bibliotecas pueda utilizar todos los idiomas compatibles con CLS

Por ejemplo, Visual Basic no es sensible a mayúsculas, mientras que C # es. Uno de los requisitos de compatibilidad con CLS es que nombres de los miembros públicos (y protegidos) no deben diferir solamente por caso, lo que garantiza que sus bibliotecas pueden ser utilizados con seguridad por el código de Visual Basic, o cualquier otro lenguaje .NET que no diferencia basa en caso.

La respuesta es para permitir la máxima compatibilidad a través de los lenguajes .NET. CLS es el lengua franca que permite a C # asambleas para trabajar con F #, ironpython, C ++ / CLI, VB.NET, Boo y todos los demás lenguajes .NET. Paso fuera de ese límite y su conjunto puede funcionar correctamente, pero no necesariamente.

Puede que no sea un específica razón para tener sea compatible con CLS su código, pero la gente se refiere a que es una "mejor práctica" - algo que se debe hacer porque es un buen hábito, en lugar de ser notablemente mejor para un escenario particular.

En otras palabras, Es una buena idea Para que el código compatible con CLS a menos que tenga una razón no a.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top