Domanda

Diciamo che sto scrivendo una libreria in C # e non so che sta per consumare.

L'interfaccia pubblica della biblioteca ha alcuni tipi non firmati - uint, USHORT. A quanto pare questi tipi non sono compatibile con CLS e, teoricamente parlando, ci possono essere lingue che non saranno in grado di consumare loro.

Ci sono in lingue realtà del genere?

È stato utile?

Soluzione

Credo nella versione originale di VB.NET, tipi unsigned erano utilizzabili, ma non c'era alcun supporto per loro integrata nel linguaggio. Questo è stato risolto nelle versioni successive, naturalmente.

Inoltre, ho il sospetto che l'ormai defunta J # non ha il supporto per i tipi senza segno (dato che Java non ha).

Altri suggerimenti

.NET compatibilità e la conformità CLS sono due cose diverse. Tutto ciò che può lavorare in qualche modo con il framework .NET potrebbe dire per essere compatibile con esso. la conformità CLS è più severa. Esso fornisce una serie di regole per implementatori di lingua e biblioteca progettisti di seguire in modo da creare un ecosistema di linguaggi e librerie tra loro compatibili.

Il punto centrale di una cosa come la CLS è quello di permettere di evitare di dover ricerca ogni esempio di una lingua e capire come sostenere tutti. Se si vuole fare questo, è possibile, ma l'alternativa è quella di rispettare le CLS e quindi sapere che sarà compatibile con qualsiasi altra cosa (dal passato presente o futuro) che sia conforme anche con la CLS.

Se non c'è uno oggi, ci può essere un domani.

Visual Basic ..?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top