Στο 99.999% των περιπτώσεων είναι καλύτερα να αποφύγεις τους converters. Υπάρχουν πολύ σημαντικές διαφορές μεταξύ VB6 και .NET οι οποίες δεν καλύπτονται από κάποιο converter. Για παράδειγμα, αν μία εφαρμογή χρησιμοποιεί connected recordsets η μετατροπή σε disconnected datasets θα απαιτήσει αλλαγές με το χέρι και έλεγχο για concurrency violations, πράγματα τα οποία ένας converter δεν μπορεί να προσθέσει. Επίσης, μία εφαρμογή VB6 μπορεί να χρησιμοποιεί 5-6 κλάσεις για να κάνει κάτι που το .NET θα μπορούσε να κάνει με 1-2 κλάσεις, inheritance και method overloading. Να μην πούμε και για τα ActiveX τα οποία μπορεί να μην έχουν αντίστοιχο στο .NET.
Επιπλέον, οι "προίκες" VB6 κατά κανόνα αφορούν κακογραμμένο κώδικα - διαφορετικά θα είχε μετατραπεί σε .NET εδώ και πολύ καιρό. Οι converters κάνουν μέτρια μετατροπή σε καλό κώδικα. Σε κακογραμμένο κώδικα, οι converters θα βγάλουν πολύ χειρότερο κώδικα.
Έχω μία απορία. Λες ότι η εφαρμογή έχει 30 φόρμες. Κλάσεις, modules δεν έχει? Ή όλος ο κώδικας είναι μέσα στις φόρμες? Σε αυτή την περίπτωση έχεις όχι μόνο να ξαναγράψεις την εφαρμογή από την αρχή αλλά να την ξανασχεδιάσεις κιόλας.
Επειδή υποψιάζομαι ότι η εφαρμογή σου είναι κυρίως CRUD με ολίγη λογική, θα σου πρότεινα να χρησιμοποιήσεις κάποιο framework όπως το XAF έτσι ώστε να δημιουργήσεις το σκελετό της εφαρμογής σου γρήγορα και να προσθέσεις μετά στις διάφορες κλάσεις και φόρμες την επιπλέον λογική που χρειάζεται.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos