2011-06-02 7 views

Respuesta

12

La primera de ellas es la forma corta de:

Dim sqlconn As SqlClient.SqlConnection = New SqlClient.SqlConnection(cs) 

El segundo depende de la versión de VB que está utilizando. En VB 7 y VB 8 es el mismo que:

Dim sqlconn As Object = New SqlClient.SqlConnection(cs) 

En VB 9 inferencia de tipos se introdujo, por lo que el compilador inferir el tipo de la asignación y producir el mismo código que la primera.

La inferencia de tipo requiere que la opción Option Infer esté configurada en on. Esta es la configuración predeterminada, pero puede estar desactivada si migra un proyecto desde una versión anterior.

+3

+1 Vale la pena mencionar que los tipos solo se deducen si tiene 'Option Infer On'; de lo contrario, VB9 funciona como versiones anteriores. – MarkJ

+0

@MarkJ: Buen punto. Es el valor predeterminado, pero puede estar desactivado si migra un proyecto. – Guffa

+0

+1 Pero, para completar, también vale la pena mencionar que la interpretación 'As Object' solo está permitida cuando' Option Strict' está 'Off' (y' Option Infer Off' o pre-VB9). –

Cuestiones relacionadas