Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Компилятор 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 может точно определить тип объекта, с которым вы работаете при редактировании кода. Ранняя привязка уменьшает количество и серьезность ошибок во время выполнения, так как он позволяет компилятору сообщать об ошибках при компиляции программы.
Замечание
Поздняя привязка может использоваться только для доступа к элементам типа, объявленным как Public
. Доступ к членам, объявленным как Friend
или Protected Friend
приводит к ошибке во время выполнения.