.NET Framework

Knowledge Base

.NET Framework

Common Language Specification (CLS)

Die Common Language Specification (CLS) ist eine Untermenge des Common Type Systems (CTS) und damit ein Teil der Common Language Infrastructure (CLI) Spezifikation.

Die Common Language Specification (CLS) garantiert, dass CLI Bibliotheken / Programme, die sich an die CLS halten auch von jeder anderen Sprache in der CLI verwendet werden können - denn jede CLI Sprache muss ebenfalls die CLS einhalten. Damit ist es möglich programmiersprachneutrale Komponenten / Bibliotheken zu entwickeln und ist sicher, dass dieser in jeder CLI Sprache eingesetzt werden können.

Bibliotheken, die sich an die Common Language Specification (CLS) halten werden CLS kompatibel (CLS compliant) genannt.

Die Regeln der Common Language Specification (CLS) gelten dabei nur für öffentliche (public) oder geschützte (protected) Schnittstellen der Bibliothek, d. h. eine Bibliothek kann durchaus auch nicht kompatible CLS Operatoren oder Typen einsetzen, solange dies im Verborgenen (z. B. innerhalb von private member) passiert.

Innerhalb des .NET Framework SDKs kann die CLS Kompatibilität mittels der Angabe [CLSCompliant(true)] gesteuert werden (durch hinzufügen in der AssemblyInfo-Datei). In diesem Fall prüft der Compiler auf die CLS Kompatibilität und erzeugt Fehlermeldungen, wenn diese nicht eingehalten wird.

Alle Klassenbibliotheken der Framework Class Library (FCL) sind CLS-kompatibel.