Udostępnij za pośrednictwem


Wczesne i późne powiązanie (Visual Basic)

Kompilator języka Visual Basic wykonuje proces wywoływany binding , gdy obiekt jest przypisany do zmiennej obiektu. Obiekt jest wcześnie powiązany, gdy jest przypisany do zmiennej zadeklarowanej jako konkretny typ obiektu. Wczesne obiekty powiązane umożliwiają kompilatorowi przydzielanie pamięci i wykonywanie innych optymalizacji przed wykonaniem aplikacji. Na przykład następujący fragment kodu deklaruje zmienną FileStreamtypu :

'  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)

Ponieważ FileStream jest określonym typem obiektu, wystąpienie przypisane do FS jest wcześnie wiązane statycznie.

Natomiast obiekt jest wiazany dynamicznie, gdy jest przypisany do zmiennej zadeklarowanej jako typ Object. Obiekty tego typu mogą zawierać odwołania do dowolnego obiektu, ale brakuje im wielu zalet wcześniej wiązanych obiektów. Na przykład następujący fragment kodu deklaruje zmienną obiektu do przechowywania obiektu zwróconego CreateObject przez funkcję:

' 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

Zalety wczesnego wiązania

Zawsze, gdy jest to możliwe, należy używać obiektów o wczesnej granicy, ponieważ umożliwiają kompilatorowi wprowadzanie ważnych optymalizacji, które zapewniają bardziej wydajne aplikacje. Wczesne powiązane obiekty są znacznie szybsze niż późne powiązane obiekty i ułatwiają odczytywanie i utrzymanie kodu dzięki określeniu dokładnie, jakiego rodzaju obiekty są używane. Kolejną zaletą wczesnego powiązania jest włączenie przydatnych funkcji, takich jak automatyczne uzupełnianie kodu i dynamiczna pomoc, ponieważ zintegrowane środowisko projektowe (IDE) programu Visual Studio może określić dokładnie typ obiektu, z którym pracujesz podczas edytowania kodu. Wczesne powiązanie zmniejsza liczbę i dotkliwość błędów występujących w czasie wykonywania, ponieważ umożliwia kompilatorowi zgłaszanie błędów, gdy program jest kompilowany.

Uwaga / Notatka

Późne wiązanie może być używane wyłącznie do uzyskiwania dostępu do elementów członkowskich typu, które są deklarowane jako Public. Uzyskiwanie dostępu do członkowskich zadeklarowanych jako Friend lub Protected Friend powoduje błąd czasu wykonywania.

Zobacz także