Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Visual Basic fordító egy olyan folyamatot hajt végre, amelyet akkor hívunk meg binding
, amikor egy objektumot hozzárendelünk egy objektumváltozóhoz. Az objektumok korán meg vannak kötve , amikor egy adott objektumtípusnak deklarált változóhoz vannak rendelve. A korai kötött objektumok lehetővé teszik, hogy a fordító lefoglalja a memóriát, és más optimalizálásokat hajtson végre az alkalmazások végrehajtása előtt. Az alábbi kódrészlet például egy változó típusát FileStreamdeklarálja:
' 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)
Mivel FileStream egy adott objektumtípusról van szó, a hozzárendelt FS
példány korai kötésű.
Ezzel szemben egy objektum késve van megkötve , amikor egy típusként Object
deklarált változóhoz van rendelve. Az ilyen típusú objektumok bármilyen objektumra hivatkozhatnak, de nem rendelkeznek a korai kötött objektumok számos előnyével. A következő kódtöredék például deklarál egy objektumváltozót a függvény által CreateObject
visszaadott objektum tárolására:
' 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
A korai kötés előnyei
Amikor csak lehetséges, korai kötésű objektumokat kell használnia, mert lehetővé teszik a fordító számára, hogy olyan fontos optimalizálásokat hozzon létre, amelyek hatékonyabb alkalmazásokat eredményeznek. A korai kötött objektumok lényegesen gyorsabbak a késő kötött objektumoknál, és a kód olvashatóbbá és karbantarthatóbbá tétele azáltal, hogy pontosan megadja, hogy milyen típusú objektumokat használnak. A korai kötés másik előnye, hogy olyan hasznos funkciókat tesz lehetővé, mint az automatikus kódkiegészítés és a dinamikus súgó, mivel a Visual Studio integrált fejlesztési környezete (IDE) pontosan meg tudja határozni, hogy milyen típusú objektummal dolgozik a kód szerkesztésekor. A korai kötés csökkenti a futásidejű hibák számát és súlyosságát, mivel lehetővé teszi a fordító számára a hibák jelentését egy program lefordításakor.
Megjegyzés:
A késői kötés csak a deklarált Public
típustagok elérésére használható. A deklarált Friend
Protected Friend
tagok elérése futásidejű hibát eredményez.