Una caratteristica molto apprezzata di Visual Basic ("Classic", ma anche .NET se usate -speriamo di no- la direttiva di compilazione "Strict Off") è la facilità con la quale si possono implementare accessi late-bound ai membri di un oggetto. In pratica, qualcosa del genere (usando la sintassi VB6):
Dim cn
Set cn = CreateObject("ADODB.Connection")
cn.ConnectionString= "" 'Metti qui unaconnection string valida
cn.Open
cn.Close
Set cn = Nothing
string connectionString = ""; //Metti qui una stringa di connessione valida
Type theType = Type.GetTypeFromProgID("ADODB.Connection");
object cn = Activator.CreateInstance(theType);
theType.InvokeMember("ConnectionString", BindingFlags.SetProperty, null, cn, new object[]{connectionString});
theType.InvokeMember("Open", BindingFlags.InvokeMethod, null, cn, null);
theType.InvokeMember("Close", BindingFlags.InvokeMethod, null, cn, null);
cn=null;