Frage

Lassen Sie uns sagen, dass ich eine Bibliothek in C # ich schreibe, und ich weiß nicht, wer es konsumieren wird.

Die öffentliche Schnittstelle der Bibliothek hat einige unsigned Typen - uint, ushort. Offenbar diese Typen sind nicht CLS-kompatibel und theoretisch kann es Sprachen, die sie nicht in der Lage sein wird zu konsumieren.

Gibt es in Wirklichkeit Sprachen wie das?

War es hilfreich?

Lösung

ich in der ursprünglichen Version von VB.NET glauben, waren unsigned Typen verwendbar, aber es gab für sie keine Unterstützung in die Sprache integriert. Dies wird in späteren Versionen angesprochen worden, natürlich.

Außerdem vermute ich, dass das heute nicht mehr existierenden J # keine Unterstützung für unsigned Typen hat (vorausgesetzt, dass Java hat keine).

Andere Tipps

.NET-Kompatibilität und CLS-Kompatibilität sind zwei verschiedene Dinge. Alles, was in irgendeiner Weise mit dem .NET-Framework arbeiten könnte sagen, mit ihm kompatibel sein. CLS-Kompatibilität ist strenger. Es bietet eine Reihe von Regeln für die Sprache Implementierer und Bibliothek Designer so zu folgen, wie ein Ökosystem von miteinander kompatibelen Sprachen und Bibliotheken zu erstellen.

Der ganze Sinn einer Sache wie der CLS ist Ihnen zu erlauben, zu vermeiden jedes Beispiel einer Sprache zu erforschen mit und herauszufinden, wie sie alle zu unterstützen. Wenn Sie das tun wollen, können Sie, aber die Alternative ist, mit dem CLS zu erfüllen und daher weiß, dass Sie mit etwas anderes kompatibel sein werden (aus der Vergangenheit, Gegenwart oder Zukunft), die auch mit dem CLS entspricht.

Wenn es nicht ein heute ist, kann es ein tommorow sein.

Visual Basic ..?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top