Question

Disons que j'écris une bibliothèque en C # et je ne sais pas qui va le consommer.

L'interface publique de la bibliothèque a des types non signés - uint, ushort. Apparemment, ces types ne sont pas conformes CLS et, théoriquement parlant, il peut y avoir des langues qui ne seront pas en mesure de les consommer.

Y at-il dans les langues de la réalité comme ça?

Était-ce utile?

La solution

Je crois que dans la version originale de VB.NET, types non signés étaient utilisables, mais il n'y avait pas de support pour les construire dans la langue. Cela a été abordé dans les versions ultérieures, bien sûr.

En outre, je pense que le J # défunte n'a pas de support pour les types non signés (étant donné que Java n'a pas).

Autres conseils

.NET compatibilité et la conformité CLS sont deux choses différentes. Tout ce qui peut travailler en quelque sorte avec le framework .NET pourrait être considéré comme compatible avec elle. conformité CLS est plus stricte. Il fournit un ensemble de règles pour implementors linguistiques et les concepteurs de bibliothèques à suivre afin de créer un écosystème de langues mutuellement compatibles et les bibliothèques.

Le point entier d'une chose comme la CLS est de vous permettre d'éviter d'avoir à la recherche tous les exemples d'une langue et comprendre comment les soutenir tous. Si vous voulez faire cela, vous pouvez, mais l'alternative est de se conformer à la CLS et donc savoir que vous serez compatible avec toute autre chose (du présent ou futur passé) qui est également conforme à la CLS.

S'il n'y a pas un jour, il peut y avoir un tommorow.

Visual Basic ..?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top