Veröffentlicht: 04. Mrz 2005
Von Jürgen Mauerer
Visual Studio 2005 (Codename Whidbey) ist eng mit dem .NET Framework 2.0 und seinen Neuerungen verbunden. Dieses Feature zeigt auf Basis der Beta 1, was sich bei den .NET-Sprachen Visual C#, Visual Basic und Visual C++ mit der kommenden Entwicklungsumgebung ändert.
Auf dieser Seite
Einführung
Änderungen in Visual C# 2005
Neues bei Visual Basic 2005
Verbesserungen in Visual C++ 2005
Einführung
Mit Visual Studio 2005 bringt Microsoft in diesem Jahr eine Entwicklungsumgebung auf den Markt, die als Meilenstein in der .NET-Ära gilt. Parallel erscheint das .NET-Framework 2.0 mit vielen Neuerungen in der Common Language Runtime (CLR), der Base Class Library (BCL), darunter Generics, Partial Classes, Yield-Iteratoren in der Laufzeitumgebung, ASP.NET 2.0 oder die Erweiterungen von ADO.NET in den Basisklassen. Hinzu kommen neue .NET-Versionen von Visual Basic, C# und C++.
Hauptziel bei Visual C# 2005 war die schnellere Entwicklung (Rapid Application Development) mit verstärktem Fokus auf den Code. Neben Anreicherungen der Sprache durch Generics, Anonyme Methoden, Iteratoren oder Partielle Typen verbessern Elemente wie Code Refactoring, Code Navigation & Visualisierung und Fortschritte beim Debugging die Erzeugung von Code.
Die größten Änderungen bei Visual Basic 2005 betreffen die neue und VB-exklusive My.-Funktion, XML-Kommentare, Generics und überladbare Operatoren. Einige neue Anweisungen füllen logische Lücken in der Sprache. Dazu gehören Using, Continue und TryCast sowie das Schlüsselwort Global. Hinzu kommt eine Reihe von Verbesserungen an der Struktur der Sprache, vorzeichenlose Typen oder explizite Array-Grenzen mit optionaler Angabe der oberen oder unteren Grenze.
Visual C++ 2005 ist auch weiterhin die einzige .NET-Sprache, die nativen Code erzeugen kann. Die neue Version unterstützt jetzt die verschiedenen Zielplattformen der Visual Studio IDE, vereinfacht durch die neue Syntax C++/CLI (derzeit bei der ECMA eingereicht) das Schreiben von Managed Code und bietet eine erweiterte Unterstützung der CLR und des .NET Framework.
Visual Studio 2005 - First Contact
Diese Webseite zum TechTalk über Visual Studio 2005 gibt Informationen zum Thema sowie zum Referenten Frank Fischer. Sie können hier auch eine umfangreiche Powerpoint-Präsentation herunterladen, die sich im Detail mit dem .NET Framework 2.0 und Visual Studio 2005 befasst.
Visual Studio 2005 Developer Center
Im Visual Studio 2005 Developer Center finden Sie Informationen über die Betaversion von Visual Studio 2005 einschließlich der Express-Versionen sowie Artikel zu den Verbesserungen und neuen Features von Visual Studio 2005, dem .NET Framework 2.0 und ASP.NET 2.0. In englischer Sprache.
Änderungen in Visual C# 2005
Bei Visual C# 2005 lag das Hauptaugenmerk auf der Verbesserung des Codes und der Code-Erzeugung. Die Sprache unterstützt jetzt Generics (typsichere, wieder verwendbare Klassen) und partielle Typen, in denen die Implementierung über mehrere Dateien verteilt sein kann, denen das neue Schlüsselwort partial zur Klassendefinition beigefügt wird. Auf diese Weise können Entwickler beispielsweise geschriebenen Code von erzeugtem Code trennen und dadurch ein Überschreiben bei der Neu-Generierung verhindern.
C# 2005 wurde auch um Iteratoren und Anonyme Methoden ergänzt. Letztere lassen sich im Wesentlichen überall dort verwenden, wo auch Delegates zum Einsatz kommen. Statt einer Delegate-Methode übergibt man einfach nur einen Code-Block, der einen Parameter übergeben oder Parameter-los sein kann. Der Delegate-Typ wird dann automatisch erzeugt.
Neu in C# sind die so genannten Yield-Iteratoren. Iteratoren sind Ausdrücke beziehungsweise Methoden, die eine sequenzielle Ausgabe erzeugen. Im Code-Block dieser Funktion verwendet man das neue Statement "yield return". Dieses legt fest, welcher Wert geliefert werden soll, und kümmert sich darum, den aktuellen Status der Iterationsfunktion zu speichern. Beim nächsten Aufruf des Codeblocks wird der Status wiederhergestellt und die Iteration läuft weiter.
Weiterhin zu erwähnen sind Nullable Types und statische Klassen, die es jetzt auch unter C# gibt. Nullable Types sind Datentypen, die alle Werte des zugrunde liegenden Typen annehmen können - und zusätzlich den Wert null. Somit kann man Variable erzeugen, bei denen über den Wert null signalisiert, dass sie noch nicht initialisiert wurden. Statische Klassen lassen sich nicht instanziieren, haben nur statische Member, und deren Methoden können ohne eine bestimmte Instanz der Klasse aufgerufen werden.
Weitere Verbesserungen: C# bietet jetzt größere Flexibilität bei der Rückgabe von Delegate-Typen (Covariance und Contravariance), Zugriff auf nicht-öffentliche Typen für andere Assemblies (Friend Assemblies), Buffers fester Größe sowie zusätzliche externe Funktionalität.
Der neue global namespace qualifier löst einige Probleme bei der Auflösung von Namensräumen und ist sehr nützlich, wenn eine Entität eine andere verstecken soll. Der Operator ist für Aliase und Namensräume zu verwenden, der Alias global bezieht sich auf den Wurzelnamensraum.
Ein wesentlicher Fortschritt beim Erzeugen von Code in der IDE ist Refactoring. Dabei handelt es sich um eine Methode, Code zu verändern, umzustrukturieren und dadurch besser aufzubereiten, ohne aber dessen grundlegende Funktionalität zu verändern. Visual Studio 2005 bietet in C# folgende Refactoring-Methoden an, die beim Programmieren häufig manuell durchzuführen sind: Extract Method, Encapsulate Field, Extract Interface, Reorder Parameters, Remove Parameters, Rename, Promote local Variable to Parameter. Die Methode „Rename“ etwa erfüllt die gleiche Aufgabe wie „Suchen und Ersetzen“, ändert aber nur die passenden Stellen im Code. So wird beispielsweise eine Methode, die im Quellcode an mehreren Stellen vorkommt, nicht an allen Stellen im Code ersetzt, sondern nur an der gewünschten Position.
Developer Center C# 2005
Auf dieser englischsprachigen Webseite finden Entwickler alle wichtigen Informationen rund um das Thema C# 2005.
C# 2005 – die Spezifikation
Auf dieser englischsprachigen Webseite finden Sie die Spezifikation der neuen C#-Version mit detaillierten Einblicken in die Syntax der neuen Funktionen der Sprache, darunter Generics, Anonyme Methoden, Iteratoren und Partiellen Typen/Klassen.
Der Befehlszeilencompiler von C# 2.0
Dieser Artikel beschreibt die Erstellung von Anwendungen mithilfe des Befehlszeilencompilers csc.exe von C#. Dabei wird eine Reihe von Compiler-Optionen speziell für C# 2.0 vorgestellt, beispielsweise das erweiterte Flag /reference und die Unterstützung für starke Namen.
Refactoring C#-Code mit Visual Studio 2005
Refactoring ist eine Methode, um Code zu verändern, umzustrukturieren und dadurch besser aufzubereiten. Dieser englischsprachige Artikel beschreibt die Refactoring-Methoden von Visual Studio 2005.
Das Feature "Bearbeiten und Fortsetzen" in C# 2.0
Dieser Artikel bietet eine Übersicht über das neue Debug-Feature "Bearbeiten und Fortsetzen" in Visual C# 2005. Durch dieses Feature können Sie während des Debuggens einer Anwendung den Code ändern und diese Codeänderungen übernehmen, ohne die Anwendung schließen, neu erstellen und erneut ausführen zu müssen.
IDE-Verbesserungen in Visual Studio 2005 für C#-Entwickler
Dieser Beitrag von MSDN-TV erläutert die IDE-Verbesserungen von Visual Studio 2005 beim Code-Editor, Debugger und beim Drag-and-Drop Visual Designer. In englischer Sprache.
Neues bei Visual Basic 2005
Neu und exklusiv bei Visual Basic 2005 ist die My.-Funktionalität, mit der Entwickler auf häufig verwendete Klassen und Funktionen des .NET Frameworks schnell zugreifen können und weniger Code schreiben müssen. My stellt Funktionen auf drei Arten bereit: durch Zurückgeben einer instanziierten, fertigen .NET Framework-Klasse, durch das Weiterleiten eines Aufrufs an eine .NET Framework-Methode oder durch Zurückgeben einer dynamisch erstellten Klasse, die Zugriff auf Elemente im Projekt bietet. My bietet auch neue .NET Framework-Klassen, die verwandte Funktionen in aufgabenbasierten APIs zusammenfassen.
Weitere Änderungen an Visual Basic betreffen XML-Kommentare und die Elemente in Generics. Es gibt auch eine Reihe von Verbesserungen an der Struktur, wie Änderungen an den Zugriffsberechtigungen für Eigenschaften-Accessoren, benutzerdefinierte Ereignis-Accessoren, Partial-Typen und Ereignisse auf Anwendungsebene. Operatorüberladungen und Konvertierungsoperatoren wurden ebenso wie der IsNot-Operator neu eingeführt.
Zu den weiteren hilfreichen Änderungen gehören vorzeichenlose Typen für den einfacheren Aufruf der WIN32-API, Standardinstanzen für Formulare, Compilerwarnungen (z.B. CLS-Compliance und Check auf nicht-initialisierte Variablen) und explizite Arraygrenzen. Einige neue Anweisungen füllen logische Lücken in der Sprache. Dazu gehören Using (Anweisung, um native Ressourcen schnell und richtig zu belegen und freizugeben), Continue (in nächste Iteration einer Do-, For- oder While-Schleife springen) sowie das Schlüsselwort Global (Zugriff auf den Wurzel-Namensraum).
Developer Center Visual Basic 2005
Auf dieser englischsprachigen Webseite finden Entwickler alle wichtigen Informationen rund um Visual Basic 2005.
Spracherweiterungen in Visual Basic 2005
Stan Schultes beschreibt in diesem Artikel anhand kleiner Codebeispiele eine Reihe von Erweiterungen in Visual Basic 2005. Zu den erläuterten Features gehören XML-Kommentare, Elemente aus Generic, das Schlüsselwort Global, Partial-Typen, My und vieles mehr.
Die "My"-Funktion in Visual Basic 2005
Dieser Artikel vermittelt eine Übersicht darüber, wie die Helferlein aus dem My-Namespace immer wieder benötigte .NET Framework-Funktionen zur Verfügung stellen, einschließlich verfügbarer Klassen, dynamisch erstellter Klassen und Threading.
Verwenden von "My.Settings" in Visual Basic 2005
In diesem Artikel wird erläutert, wie Visual Basic 2005 durch die My.Settings-Klasse das Speichern von Anwendungs- und Benutzereinstellungen in Visual Basic 2005 erheblich vereinfacht.
Generics in Visual Basic 2005
Generics ermöglichen wieder verwendbare Klassen, die im Gegensatz zu bisher auch typensicher sind. Dieser Artikel bietet eine Übersicht der Generics-Funktionen von Visual Basic 2005 und gibt Hilfestellung beim sinnvollen Design und Gebrauch der Generics. In englischer Sprache.
Operator-Überladung in Visual Basic 2005
Die Operator-Überladung ist eine neue Funktion in Visual Basic 2005. Sie erlaubt es Entwicklern, Operatoren wie Addition oder Subtraktion etc. innerhalb von Klassen und Strukturen neu zu definieren und mit eigenem Code zu versehen. Dieser englischsprachige Artikel zeigt, wie das funktioniert.
Verbesserungen in Visual C++ 2005
Visual C++ 2005 ist auch weiterhin die einzige .NET-Sprache, die nativen Code erzeugen kann (auch für 64 Bit). Sie bietet vollen Zugriff auf das .NET Framework und hat die größte Bandbreite an Applikationstypen, Fähigkeiten und Bibliotheken aller .NET-Sprachen.
Visual C++ 2005 unterstützt jetzt die verschiedenen Zielplattformen der Visual Studio IDE und vereinfacht durch die neue Syntax C++/CLI (derzeit bei der ECMA eingereicht) das Schreiben von managed Code. Die neue Standard Template Library verbessert den Umgang mit managed Code, die neue C-Runtime Library erhöht die Sicherheit.
Geht es um Performance speziell für managed Code, ist C++ immer noch die Sprache der Wahl. Die Version 2005 nutzt verbesserte Optimierungstechniken für MSIL und bietet optional Inline-Assembler. Hinzu kommen neue Funktionen wie Sprach- und Bibliotheksverbesserungen (Grad an Standardumsetzung > 98%; Elegante Spracherweiterungen für die CLR; Verbesserungen der ATL, MFC und CRT), neue Compiler-Funktionen (Gemischte, reine und überprüfbare Assemblies; 64-Bit nativ und Cross-Compiler) sowie verbesserte Produktivität und einfache Benutzung (Source Code Browsing und IntelliSense; Application Wizards und Projekt-Vorlagen).
Visual C++ 2005 unterstützt vier CLR-Ebenen:
-
Gemischt (/clr): enthält nativen und managed Code
-
„Pure“ (/clr:pure): enthält ausschließlich managed Code oder reines MSIL, kann P/Invoke verwenden, nicht jedoch C++ Interop
-
Überprüfbar (/clr:safe): enthält nur überprüfbaren managed Code, vergleichbar mit C#- und Visual Basic-Assemblies
-
Managed Extensions für C++ (/clr:oldSyntax): gilt für „old-style Code“
Neu ist der Handle-Operator ^ für die Zusammenarbeit mit managed Typen. Handle ^ ist wie Pointer * und definiert ein Handle für ein managed Objekt. Er bezieht sich nur auf ganze Objekte und gilt für Objekte auf dem Garbage-Collected-Heap. Die CLR aktualisiert das Handle, wenn das Objekt durch GC verschoben wurde. Der Tracking Reference-Operator % (vergleichbar mit Referenz &) definiert eine Referenz auf ein managed Objekt und ist nur gültig für Werttypen und Handles.
Visual C++ 2005 bietet zudem fünf neue Schlüsselwörter und fünf neue Konstruktionen. Die Schlüsselwörter sind finally (Default Exception Handler), gcnew (verwendet managed Heap), initonly (kontrolliert Zugriff), literal (Literale Variable) und nullptr (Null Handle oder Pointe). Die Konstruktionen sind array (CLR Array), interior_ptr (Zeiger in Reference Typen), pin_ptr (unterdrückt Garbage Collection), safe_cast (optimale CLR-Typumwandlung) und typeid (liest Typinformation aus).
Developer Center Visual C++ 2005
Auf dieser englischsprachigen Webseite finden Entwickler alle wichtigen Information rund um Visual C++ 2005.
Webcast-Serie: Das neue C++
In insgesamt sechs Webcasts lernen Entwickler die Merkmale und Vorzüge von Visual C++ 2005 kennen, auch anhand von Code-Beispielen. In englischer Sprache.
Performance mit Visual C++ 2005
Dieser Beitrag von MSDN TV erläutert neue Funktionen von Visual C++ 2005, die unter anderem die Leistung der Programmiersprache verbessern. In englischer Sprache.
Schnellerer Code mit Visual C++ 2005
Visual C++ 2005 vereinfacht mit der neuen Syntax C++/CLI (derzeit bei der ECMA eingereicht) das Schreiben von Managed Code. Dieser englischsprachige Artikel zeigt, was Entwickler darüber wissen müssen.
Profile-Guided Optimization mit Microsoft Visual C++ 2005
Mit der neuen Funktion Profile-Guided Optimization (PGO) können Entwickler Applikationen tunen und Performance-Gewinne von bis zu 20 Prozent erreichen. In englischer Sprache.
Portierung von Visual C++.NET-Anwendungen auf Visual Studio 2005
Stan Lippman gibt in diesem Dokument hilfreiche Tipps, um die Portierung von Anwendungen auf Microsoft Visual Studio 2005 möglichst einfach zu machen.