Statické a pozdní vazby (Visual Basic)
kompilátor Visual Basic provádí proces, který se volá, binding když se objekt přiřadí proměnné objektu. Objekt je časné vazby , je-li přiřazen k proměnné deklarované jako pro určitý typ objektu. Předčasný vázané objekty umožňují kompilátoru přidělit paměť a provádět další optimalizace před spuštěním aplikace. Například následující fragment kódu deklaruje proměnnou, která bude typu 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)
Vzhledem k tomu FileStream , že se jedná o konkrétní typ objektu, je instance přiřazená k FS předčasnému vázání.
Naopak objekt je pozdní vazba , pokud je přiřazena proměnné deklarované jako typ Object . Objekty tohoto typu můžou uchovávat odkazy na libovolný objekt, ale nemají spoustu výhod objektů s časnou vazbou. Například následující fragment kódu deklaruje proměnnou objektu pro uchování objektu vráceného CreateObject funkcí:
' 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
Výhody prvotní vazby
Pokud je to možné, měli byste použít objekty s časnou vazbou, protože umožňují kompilátoru provádět důležité optimalizace, které přinesou efektivnější aplikace. Objekty s časnou vazbou jsou výrazně rychlejší než objekty s pozdní vazbou a usnadňují čtení a údržbu kódu tím, že přesně udávají, jaký typ objektů se používá. další výhodou pro předčasné vázání je to, že umožňuje použití užitečných funkcí, jako je automatické dokončování kódu a dynamické pomoci, protože Visual Studio integrované vývojové prostředí (IDE) může určit přesně typ objektu, se kterým pracujete při úpravách kódu. Počáteční vazba snižuje počet a závažnost chyb za běhu, protože umožňuje kompilátoru hlásit chyby při kompilaci programu.
Poznámka
Pozdní vazbu lze použít pouze pro přístup ke členům typu, které jsou deklarovány jako Public . Přístup ke členům deklarovaným jako Friend nebo Protected Friend má za následek chybu v době běhu.