In vb.net come si creano delle classi esterne e come si caricano dinamicamente in fare di runtime?
In vb.net come si creano delle classi esterne e come si caricano dinamicamente in fare di runtime?
Ti è sufficiente creare una Class Library, cioè una libreria di classi che verrà successivamente compilata in una DLL, che in questo caso coincide con un assembly, la più piccola unità logica .NET che può contenere tipi, risorse e codice intermedio (IL) e, sicuramente, un manifest.
Puoi aggiungere alla stessa Solution un nuovo progetto di applicazione (ad esempio, Windows Forms) e aggiungere ad essa un riferimento alla libreria che hai precedentemente creato e compilato, che può far parte della stessa soluzione; questo ti consentirà di accedere da subito alle classi che hai creato.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Ma come si mette questo riferimento? A me serve che sia dinamico, che carichi e scarichi la dll in fase di runtime all'occorrenza.
In tal caso, il discorso si complica. Devi usare le classi del namespace System.Reflection per caricare dinamicamente assembly, caricare classi e crearne istanze.Originariamente inviato da Virgilio_x
Ma come si mette questo riferimento? A me serve che sia dinamico, che carichi e scarichi la dll in fase di runtime all'occorrenza.
Consulta la documentazione di Microsoft del .NET Framework SDK per saperne di più.
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Però per iniziare a creare una dll come faccio? Selezionando "Nuovo progetto" le opzioni sono
applicazione per windows
applicazione web asp.net
servizio web asp.net
applicazione web mobile asp.net
applicazione console
non c'è nulla per le dll![]()
upOriginariamente inviato da Virgilio_x
Però per iniziare a creare una dll come faccio? Selezionando "Nuovo progetto" le opzioni sono
applicazione per windows
applicazione web asp.net
servizio web asp.net
applicazione web mobile asp.net
applicazione console
non c'è nulla per le dll![]()
Non esiste la voce "Libreria di classi" o qualcosa del genere?![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Stai per caso utilizzando Visual Basic .NET Express? In questa versione non esiste la possibilità di creare librerie di classi. Hai comunque diverse altre possibilità: puoi comprarti una versione seria di VB.NET (dal costo esagerato), imparare ad usare direttamente il compilatore (panico!) oppure puoi usare #develop, un IDE free per C# e VB.NET (direi ancora la soluzione migliore).
Amaro C++, il gusto pieno dell'undefined behavior.
Dici sul serio? Non è una limitazione da poco, devo dire...Originariamente inviato da MItaly
Stai per caso utilizzando Visual Basic .NET Express? In questa versione non esiste la possibilità di creare librerie di classi.![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Mi pare proprio di sì; pensa addirittura che era una limitazione presente già nella versione studenti di VB.NET 2003, per la quale mi ero piuttosto inca**ato: Microsoft giustamente incentiva la programmazione orientata ad oggetti, il riutilizzo del codice e tante belle cose ma nella versione dedicata "a studenti, hobbisti e semplici appassionati", ossia proprio a coloro che dovrebbero imparare questo paradigma di programmazione, impediscono di creare librerie di classi... mah... Bill, Bill, chi ti capisce è bravo! Scherzi a parte, è ovvio il motivo di questa limitazione: le versioni più "serie" di VB.NET semplicemente includono i semi-inutili strumenti di sviluppo enterprise, che effettivamente servono solo ad un numero molto ridotto di persone; d'altra parte se si impedisce la creazione di librerie di classi nella versione standard chiunque voglia scrivere un'applicazione che sia anche solo leggermente più complicata di Hello World si trova costretto ad acquistare la versione di VS superincredibiledeluxe dal costo spropositato.
Meno male che qualche anima pia ha inventato #develop!
Amaro C++, il gusto pieno dell'undefined behavior.