Раннее и позднее связывание (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, в результате вызывает ошибку во время выполнения. |
См. также
Ссылки
Основные понятия
Время существования: создание и уничтожение объектов (Visual Basic)