Neues in Visual C# 2010

Auf dieser Seite werden die neuen und erweiterten Funktionen aufgelistet, die in Visual C# 2010 zur Verfügung stehen. Gemeinsam verbessern die neuen Funktionen die Microsoft Office-Programmierbarkeit, erleichtern das Untersuchen von Code, unterstützen die testgesteuerte Entwicklung und mehr. Weitere Informationen finden Sie unter Produkthighlights von Visual Studio 2010.

Klicken Sie auf den entsprechenden Link in den folgenden Abschnitten, um weitere Informationen über eine Funktion zu erhalten.

C# 4.0-Programmiersprache und Compiler

Dynamische Unterstützung

Visual C# 2010 unterstützt späte Bindungen an dynamische Typen mit dem neuen Typ dynamic. Dadurch werden zahlreiche neue Szenarios einschließlich vereinfachtem Zugriff auf COM-APIs (z. B. Office-Automatisierungs-APIs), dynamische APIs (z. B. IronPython-Bibliotheken) sowie HTML-Dokument-Objektmodelle (DOM) aktiviert. Weitere Informationen finden Sie unter Verwenden des Typs dynamic (C#-Programmierhandbuch) und dynamic (C#-Referenz).

Office-Programmierbarkeit

Der Zugriff auf COM-Schnittstellen, einschließlich der Office-Automatisierungs-APIs, wird durch die neuen benannten und optionalen Argumente, den dynamic-Typ, indizierte Eigenschaften sowie die optionalen ref-Modifizierer deutlich verbessert.

Weitere Informationen finden Sie unter Benannte und optionale Argumente (C#-Programmierhandbuch), Verwenden des Typs dynamic (C#-Programmierhandbuch), Gewusst wie: Indizierte Eigenschaften bei der COM-Interop-Programmierung (C#-Programmierhandbuch) und Gewusst wie: Zugreifen auf Office-Interop-Objekte mithilfe von Visual C# 2010-Funktionen (C#-Programmierhandbuch).

Unterstützung von Typübereinstimmungen

Sie können jetzt Anwendungen mit eingebetteten Typinformationen anstelle von Typinformationen bereitstellen, die aus einer primären Interopassembly (PIA) importiert werden. Mit eingebetteten Typinformationen können in einer Anwendung Typen aus einer Assembly verwendet werden, ohne auf die Laufzeitassembly oder primäre Interopassembly (PIA) verweisen zu müssen. Wenn verschiedene Versionen der Laufzeitassembly veröffentlicht werden, können die unterschiedlichen Versionen von der Anwendung mit den eingebetteten Typinformationen verwendet werden, ohne dass eine Neukompilierung erforderlich ist. Weitere Informationen finden Sie unter /link (C#-Compileroptionen). Ein entsprechendes Beispiel finden Sie unter Exemplarische Vorgehensweise: Einbetten von Typen aus verwalteten Assemblys (C# und Visual Basic).

Kovarianz und Kontravarianz

Kovarianz ermöglicht es, einen stärker abgeleiteten Typ zu verwenden als durch den generischen Parameter angegeben, wohingegen Kontravarianz die Verwendung eines weniger stark abgeleiteten Typs ermöglicht. Dies ermöglicht die implizite Konvertierung von Klassen, die abweichende Schnittstellen implementieren und bietet mehr Flexibilität für den Vergleich von Methodensignaturen mit abweichenden Delegattypen. Abweichende Schnittstellen und Delegaten können mit den neuen Sprachschlüsselwörtern in und out erstellt werden. .NET Framework führt außerdem die Varianzunterstützung für mehrere bestehende generische Schnittstellen und Delegaten einschließlich der IEnumerable<T>-Schnittstelle sowie des Func<TResult>-Delegaten und des Action<T>-Delegaten ein. Weitere Informationen finden Sie unter Kovarianz und Kontravarianz (C# und Visual Basic).

Neue Befehlszeilenoptionen

Die Befehlszeilenoption /langversion bewirkt, dass der Compiler nur Syntax akzeptiert, die in der angegebenen Version von C# gültig ist.

Von der /appconfig-Compileroption wird eine C#-Anwendung aktiviert, damit für den Compiler der Speicherort der Anwendungskonfigurationsdatei einer Assembly angegeben werden kann.

Integrierte Entwicklungsumgebung von Visual C#

In den folgenden Abschnitten werden Erweiterungen der integrierten Entwicklungsumgebung (IDE) von Visual Studio beschrieben.

Aufrufhierarchie

Die Aufrufhierarchie ermöglicht das Navigieren durch den Code durch Anzeigen folgender Elemente:

  • Alle Aufrufe von und zu ausgewählten Methoden, Eigenschaften oder Konstruktoren

  • Alle Implementierungen von Schnittstellenmembern

  • Alle Überschreibungen virtueller oder abstrakter Member

Dies erleichtert das Verständnis des Codeflusses und die Einschätzung der Auswirkungen von Änderungen am Code. Weitere Informationen finden Sie unter Aufrufhierarchie.

Sie können mit der Funktion Navigieren zu nach einem Symbol oder einer Datei im Quellcode suchen. Sie können nach Schlüsselwörtern in einem Symbol suchen, indem Sie Kamel-Schreibweise innerhalb von Wörtern und Unterstriche verwenden, um das Symbol in Schlüsselwörter aufzuteilen.

Weitere Informationen finden Sie unter Gewusst wie: Suchen von Objekten, Definitionen und Verweisen (Symbole).

Hervorheben von Verweisen

Wenn Sie auf ein Symbol im Quellcode klicken, werden alle Instanzen dieses Symbols im Dokument hervorgehoben. Um zum nächsten oder vorherigen markierten Symbol zu springen, drücken Sie STRG+UMSCHALT+NACH-UNTEN bzw. STRG+UMSCHALT+NACH-OBEN. Weitere Informationen finden Sie unter Gewusst wie: Verwenden der Verweishervorhebung.

Generate From Usage

Mit der Funktion Generate From Usage können Sie Klassen und Member verwenden, bevor Sie sie definieren. Sie können einen Stub für Klassen, Konstruktoren, Methoden, Eigenschaften, Felder oder Enumerationen generieren, die Sie verwenden möchten, aber noch nicht definiert haben, ohne die aktuelle Position im Code zu verlassen. Dies minimiert Unterbrechung im Workflow.

"Generate From Usage" unterstützt Programmierstile wie die Test-First-Entwicklung. Weitere Informationen finden Sie unter Generate From Usage und Exemplarische Vorgehensweise: Test-First-Unterstützung mit der Funktion "Generate From Usage".

IntelliSense-Vorschlagsmodus

IntelliSense stellt nun zwei Alternativen zur IntelliSense-Anweisungsvervollständigung bereit: den Beendigungsmodus und den Vorschlagsmodus. Der Vorschlagsmodus findet Verwendung, wenn Klassen und Member vor ihrer Definition verwendet werden. Weitere Informationen finden Sie unter Member auflisten.

Live Semantic Errors

Die Funktion für Livesemantikfehler wurde in Visual C# 2010 verbessert. Die Funktion zur wellenförmigen Unterstreichung, um bei der Eingabe Fehler und Warnungen zu signalisieren, schließt nun Konstrukte außerhalb der Methodentexte ein, z.B. Rückgabetypen, Parametertypen und Standardwerte in Methodendeklarationen.

Beispielanwendungen

Visual C# 2010 enthält Beispielanwendungen, die die Verwendung neuer C#-Funktionen zur Vereinfachung der Office-Programmierung veranschaulichen, Zugriff auf IronPython-Bibliotheken bieten, dynamische Objekte erstellen, kovariante und kontravariante allgemeine Delegaten entwickeln und verwenden und mehr. Weitere Informationen zu Sprachbeispielen von Visual C# und wie Sie darauf zugreifen können finden Sie unter Visual C#-Beispielanwendungen.

Siehe auch

Referenz

Neues im Visual Studio Debugger

Konzepte

Neues in Visual Studio 2010

Neues im Editor von Visual Studio 2010

Neues in .NET Framework 4

Neues in ASP.NET 4 und Visual Web Developer

Neues zur Bereitstellung von Software