|
|
|
|
Strumenti |
20-11-2019, 12:29 | #1 |
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1016
|
Porting da Visual Basic a C#
Buongiorno a tutti,
sto effettuando il porting di un'applicazione da VB6 a C#. E' la prima volta che effettuo un'operazione del genere, avete consigli o suggerimenti da condividere? Ad esempio: nel codice VB sono presenti 2 etichette che vengono richiamate da diversi goto, qual è la best practices da adottare in questo caso? Grazie.
__________________
|
20-11-2019, 13:24 | #2 |
Senior Member
Iscritto dal: Aug 2017
Messaggi: 469
|
|
20-11-2019, 14:33 | #3 |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 20816
|
ed evitare l'uso di goto che sono peggio della peste nera medievale
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
20-11-2019, 17:53 | #4 |
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 541
|
Erano già inopportuni in vb6... ovviamente devi valutare caso per caso per la soluzione ma niente goto
Se sono usate per la gestione degli errori usa la try catch |
20-11-2019, 20:16 | #5 |
Senior Member
Iscritto dal: Aug 2017
Messaggi: 469
|
Si, in effetti strano che siano state usate su VB6.
|
21-11-2019, 07:42 | #6 |
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1016
|
Si, sicuramente utilizzerò delle funzioni, anche se non sarà semplicissimo il porting dato l'accessivo di numerosi goto verso la stessa etichetta che riporta all'inizio del codice.
__________________
|
21-11-2019, 09:27 | #7 | |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 20816
|
Quote:
poi la logica del tuo programma la programmi mediante la gestione delle chiamate alla varie funzioni fino alla condizione di uscita alla fine ogni goto non è altro che una transizione da uno stato all'altro del software Codice:
int FSM=0; while(FSM!= ExitCondition) { switch(FSM) { case 0:{ init();FSM=1;};break; ..... .... ... case N:{ lastActivities();FSM=ExitCondition;} } }
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
21-11-2019, 09:59 | #8 | |
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 541
|
Quote:
Se conosci bene il C# e la OOP non dovresti avere problemi ... |
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:44.