What’s New in Version 3.06
Released 9/15/2013
Current registered users: This program will install unlocked and not overwrite your previous installation.
For trial users: There is a 15 day trial period, 2000 line limitation per project converted.
Version 3.06 contains many enhancements and a number of improvements in conversion accuracy, thanks to the detailed feedback and interaction with many customers.
Enhancements
- Dynamic variables are used to convert late binding in VB (VB2010 and above):
If you don’t want this behavior, it can be turned off in the Options, General section:
- Line continuations in VB are honored in C#:
If you don’t want this behavior, it can be turned off in the Options, General section:
- Prevention of line “garbling”: if automatic C# compiler error correction is unsuccessful, the original converted C# code will be output. This prevents line “garbling”, which can occur after multiple C# compiler correction attempts. This can be controlled in the Options, Compiler error correction section:
- VB and C# compile screen now has a “Stop Compiling” button:
- The multiple projects conversion screen now has columns for VB and C# compile status and conversion time:
Conversion logic fixes / enhancements:
- Correctly convert structures which implement interfaces.
- Fixed error converting Multi-Line Lambdas within BeginInvoke.
- Correctly converts auto-implemented property backing fields, removing preceding from “_” from field name
- Fixed error converting auto-implemented properties with default values which implement an interface member.
- Fixed issue where references to named constants were converted with the constant value, rather than the name.
- Improved ability to detect type of “With” expressions, to reduce late binding.
- Improved CS0037, CS0426, CS0117, and CS0234 compiler error correction.
- Unitialized variables now default to more readable values like 0 or “” for common types, instead of default(int), default(string), etc.
- Successfully convert array initializers with commas, like New Object(,) {{1, 2}}.
- Corrected error initializing complex data structures via “From” keyword.
- Fixed error converting generic definitions which contain multi-dimensional array types specified, like “List(Of Boolean()())”.
- Fixed error converting Redim statements on multi-dimensional arrays.
- ReDim variables which are routine arguments are recognized as being modified, so by reference modifiers are retained instead of converted to by value.
- ReDim statements now handles an array of generic types.
- Extension methods defined in external assemblies recognized and resolved correctly.
- Fixed problem converting references to three dimensional arrays and higher.
- Now successfully converts VB static variables which are initialized to non-static values.
- Succesfully convert Paramaterized property sets with generics, like SessionWrapper(Of EType).Item(s_Name) = result.
- Fixed error of default(Var) getting issued.
- Corrected error of converting property get and set lines with attributes in vb2010 and above
- if generic type initialized to null, specify default(T): Public Value As T = Nothing -> public T Value = default(T);.
- Changed parameterized properties to convert to get_PropertyName and set_PropertyName instead of PropertyName and SetPropertyName, to be consistant with VB internals.
- Fixed error converting enum members which are assigned ASCII values like Asc(‘0’).