Partilhar via


Associação inicial e tardia (Visual Basic)

O Visual Basic compilador executa um processo chamado binding quando um objeto for atribuído a umavariávelde objeto. Um objeto é antecipado limite quando é atribuído a uma variável declarada como um tipo específico de objeto . Objetos limite de início permitem que o compilador alocar a memória e execute outras otimizações antes de um aplicativo é executado. Por exemplo, o fragmento de código a seguir declara uma variável para ser do tipo 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)

Porque FileStream é um tipo específico de objeto , a instância atribuído a FS é antecipado limite.

Por outro lado, um objeto é tardia limite quando é atribuído a uma variável declarada como sendo do tipo Object. Objetos desse tipo podem mantiverem referências a qualquer objeto, mas não têm muitas das vantagens de antecedência-objetoslimite . Por exemplo, o fragmento de código a seguir declara umavariável do objetopara armazenar um objeto retornado pela CreateObjectfunção:

' 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

Advantages of Early Binding

Você deve usar logo -limite objetos sempre que possível, pois permitem que o compilador de otimizações importantes que produzem aplicativos mais eficientes. Início-objetoslimite são consideravelmente mais rápidos que atrasado -limite a objetos e tornar seu código mais fácil de ler e manter informando exatamente que tipo de objetos estão sendo usados. Outra vantagem de vinculação antecipada é que ele permite que recursos úteis, como auto-completar de código automático e Ajuda dinâmica porque a Visual Studio de desenvolvimento integrado ambiente (IDE) pode determinar exatamente que tipo de objeto , você está trabalhando como edição o código. Vinculação antecipada reduz o número e a gravidade do execute-erros em tempo porque ela permite que o compilador para relatório erros quando um programa é compilado.

ObservaçãoObservação

Ligação tardia só pode ser usado para acessar membros de tipo são declarados como Public. Acesso a membros declarados como Friend ou Protected Friend resulta em uma execução- errode tempo.

Consulte também

Referência

Tipo de dados Object

CreateObject

Conceitos

Vida útil de objeto: Como os objetos são criados e destruídos (Visual Basic)