Programmieren mit Visual Basic im Vergleich zu C#
Aktualisiert: November 2007
Sie können Visual Studio Tools for Office-Projektmappen mit Visual Basic oder C# erstellen. Da die Microsoft Office-Objektmodelle zur Verwendung mit Microsoft Visual Basic for Applications (VBA) entwickelt wurden, können Visual Basic-Entwickler problemlos mit den von den Microsoft Office-Anwendungen verfügbar gemachten Objekten arbeiten. Entwicklern, die C# verwenden, stehen bei der Arbeit mit dem Microsoft Office-Objektmodell nicht die gleichen Verknüpfungen zur Verfügung. Es gibt auch einige Unterschiede zwischen den grundlegenden Programmierfunktionen für die Office-Entwicklung und in Visual Basic und C# geschriebenem verwalteten Code.
Hauptunterschiede zwischen Visual Basic und C#
In der folgenden Tabelle werden die wichtigsten Unterschiede für die Office-Entwicklung mit Visual Basic und C# angezeigt.
Feature |
Beschreibung |
Visual Basic-Unterstützung |
C#-Unterstützung |
---|---|---|---|
Optionale Parameter |
Viele Microsoft Office-Methoden verfügen über Parameter, die nicht erforderlich sind, wenn Sie die Methode aufrufen. Wenn kein Wert für den Parameter übergeben wird, wird ein Standardwert verwendet. |
Visual Basic unterstützt optionale Parameter. |
C# unterstützt keine optionalen Parameter. Stattdessen müssen Sie einen Wert für alle Parameter übergeben. Weitere Informationen finden Sie unter Optionale Parametern in Office-Projektmappen. |
Übergeben von Parametern durch einen Verweis |
Optionale Parameter können in den meisten der primären Interopassemblys von Microsoft Office als Wert übergeben werden. In manchen primären Interopassemblys müssen optionale Parameter, die Referenztypen akzeptieren, jedoch als Verweis übergeben werden. Weitere Informationen über Wert- und Referenztypparameter finden Sie unter Übergeben von Argumenten als Wert und als Verweis (für Visual Basic) und Übergeben von Parametern (C#-Programmierhandbuch). |
Es sind keine weiteren Aufgaben erforderlich, um Parameter als Verweis zu übergeben. Der Visual Basic-Compiler übergibt die Parameter automatisch durch einen Verweis, wenn dies erforderlich ist. |
Optionale Parameter, die Referenztypen akzeptieren, müssen in manchen primären Interopassemblys (beispielsweise der primären Interopassembly für Word) mithilfe des ref-Schlüsselworts übergeben werden. Es muss eine Variable übergeben werden, die den tatsächlichen Wert enthält. |
Parametrisierte Eigenschaften |
Einige Eigenschaften akzeptieren Parameter und fungieren als schreibgeschützte Funktionen. |
Visual Basic unterstützt Eigenschaften, die Parameter akzeptieren. |
C# erfordert die Verwendung der Accessoren get und set zum Einstellen und Abrufen von Eigenschaftenwerten, die Parameter akzeptieren. |
Spätes Binden |
Bei der späten Bindung werden die Eigenschaften von Objekten zur Laufzeit bestimmt, statt Variablen zur Entwurfszeit in den Objekttyp umzuwandeln. |
Visual Basic kann eine späte Bindung ausführen, wenn die Option Strict -Anweisung auf Off festgelegt wird. Weitere Informationen finden Sie unter Option Strict-Anweisung. |
C# führt keine direkte späte Bindung aus. Sie können jedoch Typen im System.Reflection-Namespace nutzen, um verfügbare Member eines angegebenen Typs zu bestimmen und eine Art später Bindung auszuführen. |
Arrayindizes |
Die untere Arraybegrenzung von Auflistungen in Microsoft Office-Anwendungen beginnt mit 1. Visual Basic und Visual C# verwenden standardmäßig nullbasierte Arrays. Weitere Informationen finden Sie unter Arrays (C#-Programmierhandbuch) und unter Übersicht über Arrays in Visual Basic. |
Um auf das erste Element einer Auflistung im Objektmodell einer Microsoft Office-Anwendung zuzugreifen, verwenden Sie den Index 1 statt 0. |
Um auf das erste Element einer Auflistung im Objektmodell einer Microsoft Office-Anwendung zuzugreifen, verwenden Sie den Index 1 statt 0. |
Hauptunterschiede zwischen Office-Entwicklung und verwaltetem Code
In der folgenden Tabelle werden die wichtigsten Unterschiede zwischen der Office-Entwicklung und mit Visual Basic und C# geschriebenem verwalteten Code angezeigt.
Feature |
Beschreibung |
Unterstützung für Visual Basic und C# |
---|---|---|
Arrayindizes |
Die untere Arraybegrenzung von Auflistungen in Microsoft Office-Anwendungen beginnt mit 1. Visual Basic und Visual C# verwenden nullbasierte Arrays. Weitere Informationen finden Sie unter Arrays (C#-Programmierhandbuch) und unter Übersicht über Arrays in Visual Basic. |
Um auf das erste Element einer Auflistung im Objektmodell einer Microsoft Office-Anwendung zuzugreifen, verwenden Sie den Index 1 statt 0. |
Siehe auch
Aufgaben
Verweisen auf Office-Anwendungen durch primäre Interopassemblys
Gewusst wie: Umwandeln von Objekten, die von Office-Anwendungen zurückgegeben wurden