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çã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
Conceitos
Vida útil de objeto: Como os objetos são criados e destruídos (Visual Basic)