Common Language Specification

Common Language Specification

Die Common Language Specification (CLS) ist ein Teil des Common Language Infrastructure-Standards, der die Entwicklung von programmiersprachenneutralen Programmkomponenten ermöglicht. Die CLS garantiert, dass jedes Programm bzw. jeder Programmteil (z. B. eine einzelne Klasse), der CLS-konform entwickelt worden ist, in jeder anderen CLS-kompatiblen Programmiersprache vollständig genutzt werden kann.

Inhaltsverzeichnis

Konzept der Common Language Specification

Als Teil der programmiersprachenneutralen Plattform einer Common Language Infrastructure-Implementierung (z. B. .NET von Microsoft) ist es notwendig, die Interaktion zwischen verschiedenen Programmiersprachen zu regeln. Da nicht jede Programmiersprache denselben Funktionsumfang bietet, ist eine sprachübergreifende Programmierung nicht automatisch möglich. Die CLS spezifiziert aus diesem Grund eine Teilmenge des CLI-Standards, der von jeder CLS-kompatiblen Programmiersprache mindestens verstanden werden muss, um Sprachneutralität herzustellen. Die Regeln der CLS gelten dabei immer nur für öffentliche (public oder protected) Schnittstellen. In der internen Realisierung gelten keinerlei Einschränkungen durch die CLS.

Umsetzung der Common Language Specification

Die meisten Programmiersprachen aus dem .NET-Umfeld erlauben es dem Entwickler zu wählen, ob er seine Programme oder Programmkomponenten CLS-kompatibel entwickeln will. Dazu wird meist das Metadatenattribut [ClsCompliant (true)] verwendet, das den Kompiler (z. B. von C# oder VB.NET) anweist bei der Kompilierung zu prüfen ob die CLS eingehalten wurde. Ist dies nicht der Fall, wird ein Kompilerfehler erzeugt.

Alle Teile der Klassenbibliotheken von .NET sind CLS-kompatiblel.

Beispiele

Folgende Liste enthält einige Beispiele von nicht CLS-kompatiblen Elementen. Diese können zwar Teil der Implementierung sein, dürfen aber nicht als Teil der öffentlichen Schnittstellen eingesetzt werden.

  • Vorzeichenlose Datentypen, wie z. B. uint, ulong.
  • Elemente (Klassen, Methoden, Felder, usw.), die sich nur durch eine unterschiedliche Großschreibung ihres Namens unterscheiden.
  • Pointer (Zeiger) und alle anderen damit in Verbindung stehenden Konstrukte und Sprachelemente (im Kontext von .NET als „unsafe“ bezeichnet).
  • Globale statische Methoden
  • Interfaces mit statischen Methoden oder Feldern
  • Klassen, die nicht von CLS-kompatiblen Klassen erben
  • Arrays variabler Größe oder Arrays, die nicht bei Element 0 beginnen
  • Überladen von Feldern und Ereignissen

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Common Language Specification — The Common Language Specification is a set of base rules to which any language targeting the CLI (Common Language Infrastructure) should conform in order to interoperate with other CLS compliant languages. The CLS rules define a subset of the… …   Wikipedia

  • Common Language Infrastructure — Not to be confused with Command line Interface. The Common Language Infrastructure (CLI) is an open specification developed by Microsoft and standardized by ISO[1] and ECMA[2] that describes the executable code and runtime environment that form… …   Wikipedia

  • Common Language Infrastructure — Pour les articles homonymes, voir CLI. Schéma explicatif du Common Language Infrastructure (CLI) La Common Language Infrastructure (CLI) est une …   Wikipédia en Français

  • Common Language Runtime — Pour les articles homonymes, voir CLR. Common Language Runtime (CLR) est le nom choisi par Microsoft pour le composant de machine virtuelle du framework .NET. Il s agit de l implémentation par Microsoft du standard Common Language Infrastructure… …   Wikipédia en Français

  • Common Language Runtime — NET Framework Basisdaten Entwickler: Microsoft Aktuelle Version …   Deutsch Wikipedia

  • Common Language Infrastructure — Die Common Language Infrastructure (CLI) ist ein ISO/IEC/ECMA Standard, der Systeme spezifiziert, die sprach und plattformneutrale Anwendungsentwicklung und ausführung ermöglichen. Momentan aktuell ist die Version 5 des Standards vom Dezember… …   Deutsch Wikipedia

  • Common Algebraic Specification Language — The Common Algebraic Specification Language (CASL) is a general purpose specification language based on first order logic with induction. Partial functions and subsorting are also supported. CASL has been designed by CoFI, the Common Framework… …   Wikipedia

  • Shared Source Common Language Infrastructure — Die CLI (Common Language Infrastructure) ist ein ISO/IEC/ECMA Standard, der Systeme spezifiziert, die sprach und plattformneutrale Anwendungsentwicklung und ausführung ermöglichen. Momentan aktuell ist die Version 4 des Standards vom Juni 2006.… …   Deutsch Wikipedia

  • Programming language specification — A programming language specification is an artifact that defines a programming language so that users and implementors can agree on what programs in that language mean.A programming language specification can take several forms, including the… …   Wikipedia

  • Common Lisp — Paradigm(s) Multi paradigm: procedural, functional, object oriented, meta, reflective, generic Appeared in 1984, 1994 for ANSI Common Lisp Developer ANSI X3J13 committee Typing discipline …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”