Freigeben über


Frühes und spätes Binden (Visual Basic)

Der Visual Basic-Compiler führt einen Vorgang aus, der binding genannt wird, wenn ein Objekt einer Objektvariablen zugewiesen wird. Ein Objekt ist früh gebunden , wenn es einer Variablen zugewiesen wird, die als bestimmter Objekttyp deklariert ist. Frühe gebundene Objekte ermöglichen es dem Compiler, Arbeitsspeicher zuzuweisen und andere Optimierungen durchzuführen, bevor eine Anwendung ausgeführt wird. Das folgende Codefragment deklariert beispielsweise eine Variable als Typ FileStream:

'  Create a variable to hold a new object.
Dim FS As System.IO.FileStream
' Assign a new object to the variable.
FS = New System.IO.FileStream("C:\tmp.txt",
    System.IO.FileMode.Open)

Da FileStream einen spezifischen Objekttyp darstellt, ist die FS zugewiesene Instanz frühzeitig gebunden.

Im Gegensatz dazu ist ein Objekt spät gebunden , wenn es einer Variablen zugewiesen wird, die als Typ Objectdeklariert ist. Objekte dieses Typs können Verweise auf jedes Objekt enthalten, aber es fehlen viele vorteile von früh gebundenen Objekten. Das folgende Codefragment deklariert beispielsweise eine Objektvariable, um ein von der CreateObject Funktion zurückgegebenes Objekt zu enthalten:

' To use this example, you must have Microsoft Excel installed on your computer.
' Compile with Option Strict Off to allow late binding.
Sub TestLateBinding()
    Dim xlApp As Object
    Dim xlBook As Object
    Dim xlSheet As Object
    xlApp = CreateObject("Excel.Application")
    ' Late bind an instance of an Excel workbook.
    xlBook = xlApp.Workbooks.Add
    ' Late bind an instance of an Excel worksheet.
    xlSheet = xlBook.Worksheets(1)
    xlSheet.Activate()
    ' Show the application.
    xlSheet.Application.Visible = True
    ' Place some text in the second row of the sheet.
    xlSheet.Cells(2, 2) = "This is column B row 2"
End Sub

Vorteile einer frühen Bindung

Sie sollten möglichst früh gebundene Objekte verwenden, da sie es dem Compiler ermöglichen, wichtige Optimierungen vorzunehmen, die effizientere Anwendungen liefern. Frühe gebundene Objekte sind wesentlich schneller als spät gebundene Objekte und erleichtern das Lesen und Verwalten des Codes durch Angabe genau der Art von Objekten, die verwendet werden. Ein weiterer Vorteil der frühen Bindung ist, dass es nützliche Features wie automatische Codevervollständigung und dynamische Hilfe ermöglicht, da die integrierte Visual Studio-Entwicklungsumgebung (IDE) genau bestimmen kann, mit welchem Objekttyp Sie arbeiten, während Sie den Code bearbeiten. Die frühe Bindung reduziert die Anzahl und den Schweregrad von Laufzeitfehlern, da der Compiler Fehler melden kann, wenn ein Programm kompiliert wird.

Hinweis

Späte Bindung kann nur verwendet werden, um auf Typmitglieder zuzugreifen, die als Public deklariert sind. Der Zugriff auf Mitglieder, die als Friend oder Protected Friend deklariert wurden, führt zu einem Laufzeitfehler.

Siehe auch