uso para imagen emplea ejemplo como atributos atributo agregar .net cls-compliant

.net - imagen - en html, el atributo alt se emplea para



¿Qué es el atributo ''CLSCompliant'' en.NET? (5)

¿Cuál es el atributo CLSCompliant ?


CLS obediente es un subconjunto del espectro completo del lenguaje permitido por el CLR. Lo restringe a subconjuntos que probablemente estén disponibles en la mayoría de los lenguajes que se dirigen al CLR. Esto aumenta, pero no garantiza, que su biblioteca puede ser utilizada por todos los idiomas que se dirigen al CLR.


Como cabe aquí: para marcar un proyecto completo compatible con CLS, agregue esta línea a AssemblyInfo.cs (se puede encontrar en Propiedades en el Explorador de soluciones)

[assembly:CLSCompliant(true)]

o de manera equivalente en VB.NET ( AssemblyInfo.vb está oculto en Mi proyecto)

<Assembly: CLSCompliant(True)>

Gracias a Making Your Code CLS obediente .


Las otras respuestas son correctas. Permítanme aclarar algunas cosas: CLS significa la especificación de lenguaje común. Es el conjunto mínimo de reglas y características de lenguaje requeridas que un lenguaje .NET debe implementar y comprender. Este conjunto es un subconjunto del sistema de tipo común , que define cómo se definen los tipos en .NET.

El cumplimiento de CLS significa que puede escribir código que pueda ser consumido por cualquier idioma que pueda compilarse y ejecutarse en el CLR. Sin embargo, no se requiere el cumplimiento de CLS, lo que le brinda la flexibilidad en casos donde el cumplimiento de CLS sería difícil o imposible de hacer.

Si intenta que su código sea consumido por otros desarrolladores, su API (sus clases y métodos públicos) debe cumplir con CLS. Debe declarar esto agregando CLSCompliantAttribute a sus ensamblajes. Si no está escribiendo para otros, el cumplimiento de CLS no es necesario, aunque FxCop ( Framework Cop) no estaría de acuerdo conmigo.

Cuando su ensamblado está marcado con CLSCompliantAttribute, el compilador (¡debería!) Verifica su código para ver si, cuando se compila, violará cualquiera de las reglas de CLS (algunas de las cuales mencionó ocdecio ) y le informará las violaciones para que las arregle.


Le dice a otros consumidores de su código que cumple con CLS , y también hace que el compilador de C # compruebe que cumple con CLS para usted.

El artículo al que se hace referencia contiene muchos más detalles sobre lo que implica el cumplimiento de CLS.


Marque las clases con el atributo CLSCompliant cuando desee asegurarse de que pueda ser utilizado por cualquier otro lenguaje .NET. Estas son las reglas básicas:

  1. Los tipos sin firmar no deben formar parte de la interfaz pública de la clase. Lo que esto significa es que los campos públicos no deben tener tipos sin firmar como uint o ulong, los métodos públicos no deben devolver tipos sin firmar, los parámetros pasados ​​a la función pública no deben tener tipos sin firmar. Sin embargo, los tipos sin firmar pueden ser parte de miembros privados.

  2. Los tipos inseguros como punteros no deben usarse con miembros públicos. Sin embargo, se pueden usar con miembros privados.

  3. Los nombres de las clases y los miembros no deberían diferir solo en función de su caso. Por ejemplo, no podemos tener dos métodos llamados MyMethod y MYMETHOD.

  4. Solo las propiedades y métodos pueden estar sobrecargados, los operadores no deben estar sobrecargados.