The Visual Basic Upgrade Companion is able to convert VB6 to C# or VB.NET with the same automation ratio and code quality. However, upgrading to C#.NET represents a larger technological challenge because of its differences compared with VB.NET. After years of experience performing successful migrations to C#, the VBUC has been improved with tons of transformation rules to guarantee that the generated source code will have the topmost quality possible regardless of its target language.
Upgrading your VB6 source code to C#.NET using the Visual Basic Upgrade Companion is currently the best option available in the market because of the following reasons:
- The world’s greatest companies have selected the VBUC to leverage their applications to the .NET platform.
- With more than 100 successful VB6-to-C# migration projects, our specialists have gathered all the know-how and experience to create the world’s best migration tool.
- All the special transformation rules and techniques applied during the automated migration stage to save time and money when upgrading straight to C#.
- All the technical considerations performed by the tool like:
- Declarations and typing: Handles explicit declarations, typing and coercions, based on C# strict typing
- Events declaration and invocation: Event handlers are declared as simple methods and then associated to the events.
- Error handling: recognizes a vast set of “On Error” coding patterns and transform them into “Try-Catch” blocks.
- Modules to classes: The VBUC converts VB6 modules, and their member references, to C# classes with static members.
- Parameters passing analysis: Appropriate C# parameter declarations, possibly using the optional, by-ref, out modifiers and proper default values.
- Lower bounds correction: Default VB6 array and collections lower bound adjustments to 0 indexing
- Array dims and redims: Convert VB6 arrays to appropriate .NET Array instances.
- Default instances: Default instance adjustments for forms, classes and user controls.
- Indexer properties: VB6 indexer properties converted to their .NET equivalent.
- “With” block removal: Full-qualified names are used for the “with block” variables.
- “Return” statements: The VBUC transforms the function name assignments contained in the functions into return statements.
- Case sensitive corrections
- Brackets generation for array access
- Variable initialization