Поделиться через


Раннее и позднее связывание (Visual Basic)

При присвоении объекта переменной объекта компилятор Visual Basic выполняет процесс связывания binding.Объект является объектом с ранней привязкой, если он присвоен переменной определенного типа объекта.Объекты с ранней привязкой позволяют компилятору выделять память и выполнять другие преобразования до выполнения приложения.Пример объявления переменной типа 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)

Поскольку FileStream является определенным типом объекта, экземпляр, присвоенный FS, является объектом с ранней привязкой.

Объект является объектом с поздней привязкой, если он присвоен переменной, имеющей тип Object.Объекты данного типа могут содержать ссылки на любые объекты, но лишены многих преимуществ объектов с ранней привязкой.Пример объявления переменной объекта для хранения объекта, возвращенного функцией CreateObject:

' 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

Преимущества раннего связывания

По возможности следует использовать объекты с ранней привязкой. Они позволяют компилятору производить важные преобразования, повышающие эффективность приложений.У объектов с ранней привязкой быстродействие существенно выше, чем у объектов с динамической привязкой. За счет точного определения типа используемого объекта объекты с ранней привязкой делают код более простым для чтения и управления.Интегрированная среда разработки Visual Studio (IDE) может точно определять тип объекта при редактировании кода, что позволяет использовать при раннем связывании такие функциональные возможности, как автоматическое завершение кода и динамическая справка.Раннее связывание позволяет компилятору сообщать об ошибках во время компиляции программы, что уменьшает количество и серьезность ошибок во время выполнения.

ПримечаниеПримечание

Позднее связывание может быть использовано только для доступа к членам типа, объявленным как Public.Доступ к членам, объявленным как Friend или Protected Friend, в результате вызывает ошибку во время выполнения.

См. также

Ссылки

Тип данных Object

CreateObject

Основные понятия

Время существования: создание и уничтожение объектов (Visual Basic)