2008-12-13 10 views
5

Digamos que estoy escribiendo una biblioteca en C# y no sé quién la va a consumir.¿Hay idiomas compatibles con .NET que no admitan tipos sin firmar?

La interfaz pública de la biblioteca tiene algunos tipos sin firmar - uint, ushort. Aparentemente, esos tipos no son compatibles con CLS y, teóricamente hablando, puede haber idiomas que no podrán consumirlos.

¿Hay en realidad idiomas como ese?

+0

Consulte esta pregunta. Podría ser un duplicado: http://stackoverflow.com/questions/6325/why-are-unsigned-ints-not-cls-compliant –

Respuesta

5

Creo en la versión original de VB.NET, los tipos sin firmar se podían usar pero no había soporte para ellos integrado en el idioma. Esto ha sido abordado en versiones posteriores, por supuesto.

Además, sospecho que el J # ahora difunto no tiene soporte para tipos sin firmar (dado que Java no tiene ninguno).

5

. La compatibilidad con .NET y el cumplimiento con CLS son dos cosas diferentes. Podría decirse que cualquier cosa que pueda funcionar de alguna manera con .NET Framework es compatible con ella. El cumplimiento de CLS es más estricto. Proporciona un conjunto de reglas para que los implementadores del lenguaje y los diseñadores de la biblioteca lo sigan a fin de crear un ecosistema de idiomas y bibliotecas mutuamente compatibles.

El objetivo de una cosa como el CLS es que te permita evitar tener que investigar todos los ejemplos de un idioma y descubrir cómo apoyarlos a todos. Si desea hacerlo, puede hacerlo, pero la alternativa es cumplir con el CLS y, por lo tanto, saber que será compatible con cualquier otra cosa (del pasado presente o futuro) que también cumpla con el CLS.

1

Si no hay uno hoy, puede haber un mañana.

Cuestiones relacionadas