Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

Neues in Sprache und Compiler von C# 2.0

Visual Studio 2005

Mit der Veröffentlichung von Visual Studio 2005 wurde die Programmiersprache C# auf Version 2.0 aktualisiert, wodurch die folgenden neuen Features unterstützt werden:

Generika

Der Sprache wurden generische Typen hinzugefügt, um den Programmierern ein hohes Maß an Wiederverwendung von Code zu ermöglichen und die Leistung von Auflistungsklassen zu verbessern. Generische Typen können sich nur in der Stelligkeit unterscheiden. Es ist auch möglich, für Parameter einen bestimmten Typ zu erzwingen. Weitere Informationen finden Sie unter Generische Typparameter.

Iteratoren

Mit Iteratoren lässt sich besonders einfach festlegen, wie eine foreach-Schleife den Inhalt einer Auflistung durchläuft.

Teilklassen

Partielle Typdefinitionen ermöglichen die Aufteilung eines einzelnen Typs, wie zum Beispiel einer Klasse, auf mehrere Dateien. Im Visual Studio-Designer wird dieses Feature verwendet, um den generierten Code vom Benutzercode zu trennen.

Auf NULL festlegbare Typen

Typen mit NULL-Wert ermöglichen es einer Variablen, einen nicht definierten Wert zu enthalten. Typen, die NULL-Werte zulassen, sind bei der Arbeit mit Datenbanken und anderen Datenstrukturen nützlich, die über Elemente verfügen können, welche keinen bestimmten Wert enthalten.

Anonyme Methoden

Es ist jetzt möglich, einen Codeblock als Parameter zu übergeben. Ein Codeblock kann an jeder Stelle verwendet werden, an der ein Delegat erwartet wird. Es ist nicht mehr nötig, eine neue Methode zu definieren.

Namespacealiasqualifizierer

Der Namespacealiasqualifizierer (::) bietet mehr Kontrolle über den Zugriff auf Namespacemember. Der global ::-Alias ermöglicht den Zugriff auf den Stammnamespace, der möglicherweise von einer Entität im Code ausgeblendet wird.

Statische Klassen

Statische Klassen stellen eine sichere und bequeme Art dar, eine nicht instanziierbare Klasse zu deklarieren, die statische Methoden enthält. In C#, Version 1.2, hätten Sie den Klassenkonstruktor als privat definieren müssen, um ein Instanziieren der Klasse zu verhindern.

Externer Assemblyalias

Durch die erweiterten Verwendungsmöglichkeiten des extern-Schlüsselworts können Sie auf verschiedene Versionen derselben Komponente in einer Assembly verweisen.

Eigenschaftenaccessorzugriff

Es ist jetzt möglich, verschiedene Zugriffsebenen für den get-Accessor und den set-Accessor in den Eigenschaften zu definieren.

Kovarianz und Kontravarianz in Delegaten

Die an einen Delegaten übergebene Methode verfügt jetzt über größere Flexibilität hinsichtlich ihres Rückgabetyps und ihrer Parameter.

Gewusst wie: Deklarieren, Instanziieren und Verwenden eines Delegaten

Die Methodengruppenkonvertierung stellt eine vereinfachte Syntax für das Deklarieren von Delegaten bereit.

Puffer mit fester Größe

In einem Block mit unsicherem Code ist es jetzt möglich, Strukturen fester Größe mit eingebetteten Arrays zu deklarieren.

Friend-Assemblys

Assemblys können anderen Assemblys den Zugriff auf nicht öffentliche Typen bereitstellen.

Inlinewarnungssteuerung

Die #pragma-Warndirektive kann verwendet werden, um bestimmte Compilerwarnungen zu aktivieren und zu deaktivieren.

volatile

Das volatile-Schlüsselwort kann jetzt auf IntPtr und auf UIntPtr angewendet werden.

Der C#-Compiler enthält in dieser Version folgende Ergänzungen und Änderungen:

/errorreport-Option

Hiermit können interne Compilerfehler über das Internet an Microsoft gesendet werden.

/incremental-Option

Wurde entfernt.

/keycontainer-Option und /keyfile-Option

Unterstützung für die Angabe von kryptografischen Schlüsseln.

/langversion-Option

Hiermit kann die Kompatibilität mit einer bestimmten Version der Programmiersprache angegeben werden.

/linkresource-Option

Enthält zusätzliche Optionen.

/moduleassemblyname-Option

Hiermit können Sie die Datei .netmodule erstellen und in einer vorhandenen Assembly auf nicht öffentliche Typen zugreifen.

/pdb-Option

Gibt den Namen und den Speicherort der PDB-Datei an.

/platform-Option

Ermöglicht Ihnen die Ausrichtung auf IPF-Architekturen (Itanium Processor Family) und x64-Architekturen.

#pragma-Warnung

Wird zum Deaktivieren und Aktivieren einzelner Warnungen im Code verwendet.

Siehe auch

Anzeigen: