Thanks for the links Zameer! Here are a few things to be aware of when using them.
A. Neither of them take into account the fact that VB.Net is NOT case sensitive so module level variables will conflict with property names due to the only difference being capitalization. Prefix module level names with m or m_ and change corresponding properties to use module level variables instead of Me.PropertyName.
Code:
Private name As String
Public ReadOnly Property Name() As String
Get
Return Me.name
End Get
End Property
should be something like this
Code:
Private mName As String
Public ReadOnly Property Name() As String
Get
Return mName
End Get
End Property
1. See A above
2. MultiLine comments have an additional CrLf which needs to be removed
Code:
/* Example
* Line2
* Line3
/*
translates to
Code:
' Example
'
* Line2
'
* Line3
'
instead of
Code:
'Example
'* Line2
'* Line3
'
3. Leading left curly brace { after NameSpace converts to _
4. Incorrectly converts auto commenting
Code:
/// <summary>
/// Summary description for Options.
/// </summary>
translates to (note leading space at beginning of first line only)
Code:
'/ <summary>
'/ Summary description for Options.
'/ </summary>
instead of
Code:
''' <summary>
''' Summary description for Options.
''' </summary>
1. See A above
2. Does not create module level variables correctly
translates to
instead of
3. Does NOT handle auto comments at all (eg /// Comment) - causes error page
4. Checking for Try/Catch so FileEntry becomes FileEnTry
5. Does not translate constructor properly
Code:
public Class1(string name)
translates to
Code:
Private Function Class1(ByVal name As String) As Public
instead of
Code:
Public Sub New(ByVal name As String)
Hopefully this will help someone out somewhere along the line...
Have a great day!
j2consulting@yahoo.com