+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Convivenza C# e VB

  1. #1
    Chico non è in linea Scolaretto
    Luogo
    Padova
    Post
    104

    Convivenza C# e VB

    Ciao a tutti.
    Sono un utente di VBNET e uso ancora il VB2010. Tuttavia, anni fa avevo sviluppato qualche funzione in C# che oggi vorrei recuperare e inserire all'interno di una Class Library sviluppata interamente in VB. Pensavo si potesse far convivere tranquillamente moduli/classi in C# con moduli/classi in VB e poi compilare tutto in un unico .DLL o .EXE. ma pare non sia così. Lo deduco in quanto utilizzando Inserisci / Elemento esistente ... Visual Studio non mi consente di selezionare sorgenti *.cs.
    Ma è proprio impossibile o sbaglio qualcosa ?

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,190
    Blogs
    5
    Devi compilare il codice C# e usarlo come libreria da utilizzare per il codice VB.
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  3. #3
    Chico non è in linea Scolaretto
    Luogo
    Padova
    Post
    104
    Quindi, dovrei creare due Class Library diverse: una in C# e una in VB.
    Poi, quando sviluppo l'applicazione principale, dovrò portarmi dietro 2 file.

  4. #4
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,190
    Blogs
    5
    Perché due? Se sviluppi in VB ti basta creare la libreria in C# e portarti quella.
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  5. #5
    Chico non è in linea Scolaretto
    Luogo
    Padova
    Post
    104
    Quote Originariamente inviato da AntonioG Visualizza il messaggio
    Perché due? Se sviluppi in VB ti basta creare la libreria in C# e portarti quella.
    Il fatto è che ho già una libreria in VB, piuttosto estesa e ben strutturata, realizzata un po' alla volta in anni di lavoro. Al momento la uso per creare applicazioni che sfruttano le sue classi, strutture e controlli che creano grafici leggendo direttamente le proprietà delle classi, ecc.

    Ora vorrei potenziare le capacità di questa libreria con una serie di funzioni (algoritmi di calcolo numerico) per renderla più potente. Queste funzioni le ho già a disposizione in C# in file sparsi e disorganizzati, ma singolarmente le funzioni sono scritte bene. Speravo che queste funzioni potessero entrare a far parte della libreria originale, addirittura come metodi aggiuntivi di classi esistenti. Pensavo di raccoglierle in un modulo separato (classe statica) e privato, ad uso esclusivo delle classi esistenti e pubbliche (visibili dall'applicazione finale).

    Da quanto mi dici tu questo non è possibile. Quindi, o le traduco tutte in VB oppure ne faccio una libreria separata.
    In questo secondo caso, potrei fare unalibreria dotata di una sola classe statica, ma pubblica e quindi visibile dall'altra libreria in VB. Mahh.. mi incasinerò sicuramente con l'area di visibilità delle variabili.

  6. #6
    Sgrubak non è in linea Scolaretto
    Luogo
    Torrazza Piemonte
    Post
    248
    Non è possibile tenere nello stesso progetto, file scritti in C# e VB. Ma se tu riorganizzi tutto il codice in C# in un unico progetto DLL, lo compili e lo referenzi nel progetto VB come ti ha detto Antonio, ottieni il risultato che cerchi.

  7. #7
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,190
    Blogs
    5
    Quote Originariamente inviato da Chico Visualizza il messaggio
    Il fatto è che ....
    Beh, le strade sono quelle, del resto se i linguaggi sono diversi non puoi pretendere che un compilatore faccia tutto per qualunque linguaggio sorgente.
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  8. #8
    Chico non è in linea Scolaretto
    Luogo
    Padova
    Post
    104
    Si effettivamente il compilatore è uno solo.
    Proverò a sistemare i codici in C# e organizzarli in una seconda libreria.
    Grazie a entrambi.

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi