Create object in VB.NET

giovedì 26 gennaio 2006 - 11.26

rastapunx Profilo | Newbie

Buongiorno

Sto da poco inserendomi nel mondo del VB.NET arrivando dal visual basic 6.
Volevo capire se, e come, fosse possibile creare un'istanza di un classe appartente, ad esempio, ad un progetto1 da un'altra classe appartenente ad un progetto 2 senza però che il progetto1 venga referenziato nel progetto2 passando al createobject una stringa con il nome della classe.

Prima in VB6 bastava usare il createobject ex:
dal Progetto2
dim objOggetto as object
set objobject = createobject("Progetto1.NomeClasse1")

In VB.NET ho provato a farlo senza successo. Ex:

Dal Progetto1
Class NomeClasse1
....
End Class
Fine progetto1

Dal progetto2
Class NomeClasse2
public function CreaOggettoClasse1()
dim objObject as object
set objobject = createobject("Progetto1.NomeClasse1")
end function
end class

Ovviamente mi da un errore di runtime al createobject.

Spero di essere stato chiaro e vi ringrazio per ogni Vostro consiglio



Brainkiller Profilo | Guru

>Ovviamente mi da un errore di runtime al createobject.

La programmazione con .NET è ben diversa da quella VB6.
CreateObject è una funzione mantenuta per compatbilità con il passato all'interno di VB.NET e dev'essere usata solo ed unicamente per instanziare componenti COM.

In .NET i COM non esistono più ma ci sono gli Assembly .NET (DLL tipicamente).
Una volta prodotta una DLL (che corrisponde al vecchio COM) la puoi referenziare all'interno del tuo Progetto1 ed a quel punto istanziarla.

Se il nome all'interno di References sarà per esempio Classe1.Classe per istanziarla basterà fare:

Dim a as Classe1.Classe.<nomedellaclassedaisanziare>

a questo punto "a" è istanziata e premendo il . (punto) compariranno metodi e proprietà della classe.
ciao



David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5