Übersetzung vorschlagen
 
Andere Vorschläge:

progress indicator
Keine anderen Vorschläge
Per Mausklick bewerten und Feedback geben
MSDN
MSDN Library
.NET Entwicklung
.NET Framework 4
Alle reduzieren/Alle erweitern Alle reduzieren
Inhalt anzeigen:  Englisch mit deutscher ÜbersetzungInhalt anzeigen: Englisch mit deutscher Übersetzung
.NET Framework 4
Cross-Language Interoperability

This section describes the common language runtime's built-in support for language interoperability and explains the role that the Common Language Specification (CLS) plays in enabling guaranteed cross-language interoperability.

Language interoperability is the ability of code to interact with code that is written by using a different programming language. Language interoperability can help maximize code reuse and improve the efficiency of the development process.

Because developers use a wide variety of tools and technologies, each of which might support different features and types, it has historically been difficult to ensure language interoperability. However, language compilers and tools that target the common language runtime benefit from the runtime's built-in support for language interoperability.

The common language runtime provides the necessary foundation for language interoperability by specifying and enforcing a common type system and by providing metadata. Because all languages targeting the runtime follow the common type system rules for defining and using types, the usage of types is consistent across languages. Metadata enables language interoperability by defining a uniform mechanism for storing and retrieving information about types. Compilers store type information as metadata, and the common language runtime uses this information to provide services during execution; the runtime can manage the execution of multilanguage applications because all type information is stored and retrieved in the same way, regardless of the language the code was written in.

Managed code benefits from the runtime's support for language interoperability in the following ways:

  • Types can inherit implementation from other types, pass objects to another type's methods, and call methods defined on other types, regardless of the language the types are implemented in.

  • Debuggers, profilers, or other tools are required to understand only one environment—the Microsoft intermediate language (MSIL) and metadata for the common language runtime—and they can support any programming language that targets the runtime.

  • Exception handling is consistent across languages. Your code can throw an exception in one language and that exception can be caught and understood by an object written in another language.

Even though the runtime provides all managed code with support for executing in a multilanguage environment, there is no guarantee that the functionality of the types you create can be fully used by the programming languages that other developers use. This is primarily because each language compiler targeting the runtime uses the type system and metadata to support its own unique set of language features. In cases where you do not know which language the calling code will be written in, you are unlikely to know whether the features your component exposes are accessible to the caller. For example, if your language of choice provides support for unsigned integers, you might design a method with a parameter of type UInt32. However; that method would be unusable from a language that has no notion of unsigned integers.

To ensure that your managed code is accessible to developers who are using other programming languages, the .NET Framework provides the Common Language Specification (CLS), which describes a fundamental set of language features and defines rules for how those features are used. For more information about CLS compliance in components and tools, see Writing CLS-Compliant Code.

Title

Description

Common Language Specification

Explains the need for a set of features common to all languages and identifies CLS rules and features.

Writing CLS-Compliant Code

Discusses the meaning of CLS compliance for components and identifies levels of CLS compliance for tools.

Common Type System

Describes how types are declared, used, and managed by the common language runtime.

Metadata and Self-Describing Components

Explains the common language runtime's mechanism for describing a type and storing that information with the type itself.

.NET Framework 4
Sprachübergreifende Interoperabilität

In diesem Abschnitt wird die integrierte Unterstützung sprachübergreifender Interoperabilität durch die Common Language Runtime beschrieben und die Rolle von Common Language Specification (CLS) beim Ermöglichen einer garantierten sprachübergreifenden Interoperabilität erklärt.

Sprachinteroperabilität ist die Fähigkeit von Code, mit Code zu interagieren, der in einer anderen Programmiersprache geschrieben wurde. Die Sprachinteroperabilität kann zur maximalen Wiederverwendung von Code beitragen und die Effizienz des Entwicklungsprozesses steigern.

Da Entwickler eine große Zahl verschiedener Tools und Technologien verwenden, die möglicherweise jeweils unterschiedliche Features und Typen unterstützen, war es schon immer schwierig, Sprachinteroperabilität sicherzustellen. Sprachcompiler und Tools für die Common Language Runtime profitieren jedoch von der in der Common Language Runtime eingebauten Unterstützung der Sprachinteroperabilität.

Die Common Language Runtime bietet die für Sprachinteroperabilität erforderliche Basis, indem ein allgemeines Typsystem angegeben und erzwungen wird und Metadaten bereitgestellt werden. Da alle mit Unterstützung für die Laufzeit entwickelten Sprachen beim Definieren und Verwenden von Typen dieselben Regeln für ein allgemeines Typsystem befolgen, ist die Verwendung von Typen sprachübergreifend konsistent. Metadaten ermöglichen die Sprachinteroperabilität durch Definieren eines einheitlichen Verfahrens zum Speichern und Abrufen von Informationen über Typen. Compiler speichern Typinformationen als Metadaten, und die Common Language Runtime verwendet diese Informationen zum Bereitstellen von Diensten während der Ausführung. Die Ausführung mehrsprachiger Anwendungen kann von der Laufzeit verwaltet werden, weil alle Typinformationen unabhängig von der Sprache des Codes auf die gleiche Weise gespeichert und abgerufen werden.

Verwalteter Code profitiert in folgender Hinsicht von der Unterstützung der Sprachinteroperabilität durch die Laufzeit:

  • Typen können die Implementierung von anderen Typen erben, Objekte an die Methoden anderer Typen übergeben und die in anderen Typen definierten Methoden aufrufen, unabhängig von der Sprache, in der die Typen implementiert werden.

  • Debugger, Profiler oder andere Tools müssen lediglich für eine Umgebung eingerichtet sein – für MSIL (Microsoft Intermediate Language) sowie für Metadaten für die Common Language Runtime – und können alle für die Laufzeit entwickelten Programmiersprachen unterstützen.

  • Die Behandlung von Ausnahmen ist sprachübergreifend konsistent. Wenn Code in einer Sprache eine Ausnahme auslöst, kann diese Ausnahme von einem in einer anderen Sprache geschriebenen Objekt abgefangen und erkannt werden.

Obwohl die Laufzeit sämtlichen verwalteten Code mit Unterstützung für die Ausführung in einer mehrsprachigen Umgebung bereitstellt, gibt es keine Garantie dafür, dass die Funktionalität der von Ihnen erstellten Typen in den von anderen Entwicklern verwendeten Programmiersprachen voll ausgenutzt werden kann. Dies ist vor allem deshalb der Fall, weil jeder für die Laufzeit entwickelte Sprachcompiler das Typsystem und die Metadaten verwendet, um den eigenen eindeutigen Satz an Sprachfeatures zu unterstützen. Wenn Sie nicht wissen, in welcher Sprache der Aufrufcode geschrieben wird, ist Ihnen in aller Regel auch nicht bekannt, ob der Aufrufer auf die von einer Komponente verfügbar gemachten Funktionen zugreifen kann. Wenn die gewählte Sprache z. B. Ganzzahlen ohne Vorzeichen unterstützt, entwerfen Sie möglicherweise eine Methode mit einem Parameter des Typs UInt32. Diese Methode könnte aber in einer Sprache, die keine Ganzzahlen ohne Vorzeichen erkennt, nicht verwendet werden.

Um sicherzustellen, dass der verwaltete Code auch für Entwickler zugänglich ist, die andere Programmiersprachen verwenden, stellt .NET Framework die Common Language Specification (CLS) bereit, die einen Basissatz von Sprachfunktionen bereitstellt und Regeln für die Verwendung dieser Funktionen definiert. Weitere Informationen zur CLS-Kompatibilität in Komponenten und Tools finden Sie unter Schreiben von CLS-kompatiblem Code.

Titel

Beschreibung

CLS (Common Language Specification)

Erklärt die Notwendigkeit einer Reihe gemeinsamer Features für alle Sprachen und führt CLS-Regeln und -Features auf.

Schreiben von CLS-kompatiblem Code

Erläutert die Bedeutung der CLS-Kompatibilität für Komponenten und führt die Stufen der CLS-Kompatibilität für Tools auf.

Allgemeines Typsystem

Beschreibt, wie Typen von der Common Language Runtime deklariert, verwendet und verwaltet werden.

Metadaten und selbstbeschreibende Komponenten

Erklärt den Mechanismus, mit dem die Common Language Runtime einen Typ beschreibt und diese Informationen mit dem Typ selbst speichert.

Communityinhalt   Was ist Community Content?
Neuen Inhalt hinzufügen RSS  Anmerkungen
Processing
© 2012 Microsoft. Alle Rechte vorbehalten. Nutzungsbedingungen | Markenzeichen | Informationen zur Datensicherheit
Page view tracker