All notable changes to the code converter will be documented here.
#5.7.0 - TBC
- Update to .NET Standard 2.0
- Convert solution and project files
- Added convert and copy to clipboard into options
- Convert WithEvents/Handles
- Convert
Handles
andWithEvents
similarly to the VB compiler - Handle expressions in Select Case
- Ensure all parts of a partial class have the partial modifier
- Handle missing optional arguments
- Increase number of default global imports for web conversion
- Default properties now converted
- Fix DeclarationExpressions without a type throwing exception
- Convert Throw Expressions to multi-line lambda function
- Convert properties with no accessors
- Fix error converting ObjectCollectionInitializerSyntax within object initializer
- Escape predefined if they are used for the name of declaration
#5.6.3 - 09/04/2018
- Improve support for sub-class snippets through the website
- Best effort conversion with errors as comments inline
- Tidy up duplicate import/using statements
- Using statements and array initialization improvements
- Convert select case expressions
- Fix for multi-parameter extension methods
- Convert single line void delegates
- Fix array initialization incorrect conversion bugs
- Convert operator overloads
- Overestimate when a method should be invoked with no parameters
- Remove global namespace in conversion
- Add Imports System.Runtime.InteropServices when convering an out parameter
- Support Erase and Redim Preserve
- Convert select case expressions
- Extend support for converting with blocks
- Convert C# 7.0 features: "is pattern", throw and declaration expressions
- Convert expression bodies
- Fix to ensure Case Else always comes last in a Select statement
- Convert base class constructor call
- Fix convert char from integer cast
- Convert hex literals to hex literals (rather than just integers)
- Fix to avoid using "_" as a parameter name
- Fix for loop variable missing declaration and initialization
- Convert declare to extern
- Fix to improve accuracy of adding AddressOf
- Convert block syntax
- Convert empty statement
- Fix to avoid single line if-else statement's conversion causing compilation error
- Fix to avoid delegate with no parameters throwing NullReferenceException
- Fix for change in logic when converting nested one-line if blocks
- Fix for loss of precision in arithmetic when using
/
operator - Integer division and bit shifting now converted
Is
andIsNot
operators now convertedNarrowing
andWidening
conversion operators now converted- Linq query syntax with no select clause now converted
DirectCast
operator now convertedShadows
modifier now converted (tonew
)
- Newline now appears before each attribute list
- Fix for
new
converting toShadows
- it now maps toOverloads
- VSIX: Gets conversion off the UI thread to avoid it freezing
- VB -> C#: VB projects referencing other VB projects no longer error
- VB -> C#: XmlDoc comments now are correctly newline terminated
- New commands added to convert whole solution/project at once
- Works reliably in VS2017
- Instead of copy to clipboard, opens result as Visual Studio window for quick viewing
- Writes summary to output window to explain what's happened
- Project context used for all conversions
- Query expression syntax converted in simple cases
- Anonymous object creation converted
- Object initializer syntax converted
- Converts comments in the majority of cases (though with some formatting oddities)
- Now works on sub-method snippets
- Names now fully qualified where necessary
- Out parameters correctly converted
- Move from Refactoring Essentials to a repository of its own
- Separate NuGet
- Separate VSIX
- Improvements on the VB side