Utilizzare VB.NET e C # nella stessa applicazione?

Sto sviluppando un’applicazione basata su GUI in MS Visual Studio 2005, voglio solo sapere se è ansible utilizzare sia VB.NET che C # nello stesso progetto. Oppure posso includere un modulo scritto in C # nel mio progetto VB.NET?

Ho una class scritta in C # che voglio usare nel mio progetto basato su VB.NET, quindi se posso includere e chiamare funzioni da quel progetto, allora non dovrò scrivere di nuovo la class in VB.NET.

Quindi, per favore aiutatemi come sono nuovo alla programmazione .NET.

Non l’ho mai fatto da solo, ma so che è ansible compilare il codice C # in una DLL e quindi caricare e fare riferimento alla DLL nel progetto VB.

Da “Calling C # class in VB.net” :

Penso che il codice C # che vuoi usare sia compilato come una DLL. Una volta fatto, aggiungi semplicemente un riferimento a quel progetto nel tuo progetto VB.Net, importa lo spazio dei nomi che ti serve e poi puoi usare il codice C #.

Vedere anche Come: Creare e utilizzare DLL C # (da MSDN, per VS2005)

Voglio solo sapere che è ansible utilizzare sia VB che C # nello stesso progetto.

No, non nello stesso progetto . D’altra parte, puoi usarli nella stessa soluzione .

Oppure posso includere un modulo scritto in C # nel mio progetto VB.net.

Propongo di creare una soluzione contenente due progetti: uno in C # che costituisce una libreria che si utilizza dal progetto VB. Questo è semplice, facile da mantenere e facile da estendere.

Vuoi anche assicurarti che il tuo codice C # sia conforms a CLS. Ciò significa che non esporrà pubblicamente alcuna funzionalità che gli altri linguaggi .NET non comprenderanno (per esempio intementi non firmati – che non esistono in VB, o classi diverse solo caso per caso – dal momento che VB non fa distinzione tra maiuscole e minuscole). Per fare questo è necessario aggiungere un attributo in modo che il compilatore sollevi errori se hai infranto una qualsiasi delle linee guida. Questo articolo mostra come eseguire questa operazione:

CLSCompliantAttribute può essere applicato a assembly, moduli, tipi e membri.

Per contrassegnare un intero assieme conforms a CLS viene utilizzata la seguente syntax

using System; [assembly:CLSCompliant(true)] 

Per contrassegnare un particolare metodo conforms a CLS viene utilizzata la seguente syntax

 [CLSCompliant(true)] public void MyMethod()` 

Inserisci il codice VB.NET e C # in progetti separati. (Sto usando sia VB.NET che C # nel mio progetto open source, http://msquant.sourceforge.net/ , e funziona benissimo).

Non è necessario preoccuparsi delle DLL, basta fare riferimento al progetto (utilizzare la scheda “Progetto” nella finestra di dialogo “Aggiungi riferimento”). Ad esempio, se è necessario utilizzare una funzione nel codice / progetto C #, aggiungere un riferimento nel progetto VB.NET al progetto C #.

Non è ansible utilizzare un file C # e un file VB nello stesso progetto. È ansible, tuttavia, avere progetti VB e C # nella stessa soluzione e farvi riferimento.

Nel tuo codice puoi usare:

 Imports namespace 

o

 using namespace 

Una volta che il riferimento è stato aggiunto al progetto appropriato, crea la soluzione e sei a posto.

È anche ansible creare una libreria VB.NET in una soluzione separata, compilarla e importare la DLL nel progetto C # o viceversa.

È inoltre necessario sapere che se si dispone di un progetto VB.NET con un progetto C # nella stessa soluzione con uno di essi con un riferimento all’altro, le modifiche applicate nel progetto di riferimento saranno disponibili per l’altro dopo la ricostruzione della soluzione. È come avere un riferimento binario, ma con la capacità di cambiare codice sulla stessa soluzione.

Personalmente, non mi piace, ma sono sempre nella situazione in cui modifico il codice nel progetto di riferimento e non so perché le mie modifiche non sono nel codice in cui lo uso e lo capisco, oohhhh , Devo ribuild.

Per un aiuto temporaneo, potrebbe essere accettabile, ma non per la programmazione ogni giorno.

Se si stava solo progettando di utilizzare il modulo in progetti di Visual Basic, è consigliabile prendere in considerazione solo la conversione del codice in Visual Basic. Se è necessario utilizzare il modulo in entrambi i programmi C # e VB.NET , utilizzerei una delle soluzioni pubblicate sopra

Potresti provare qualcosa come * Converti C # in VB.NET . Converte C # in codice VB.NET. Uso questa pagina esclusivamente quando devo convertire qualcosa che trovo sulla rete che è stata scritta in C #.