Trying Code for my Book in VB and C#

    I've decided to at least try to put all of the code sample in my Data Access with Silverlight 2 book in both VB and C#. While VB was once my main language, C# has long since been the primary language I use.  Thankfully, there is the tool from Tangible Software Solutions called Instant VB that converts C# code to VB code. It can convert a snippet of code, a file, or an entire solution. Its pretty darn fast too.

    For example, here is a class I created in C# ...

    public class Customer
    {
        private int id;
        private string companyName;
        private Address companyAddress;
     
        public int ID
        {
            get { return id; }
            set { id = value; }
        }
     
        public string CompanyName
        {
            get { return companyName; }
            set { companyName = value; }
        } 
     
        public Address2 CompanyAddress
        {
            get { return companyAddress; }
            set { companyAddress = value; }
        } 
    }

    and here is the code that Instant VB created for me.

    Public Class Customer
        Private privateID As Integer
        Public Property ID() As Integer
            Get
                Return privateID
            End Get
            Set(ByVal value As Integer)
                privateID = value
            End Set
        End Property
        Private privateCompanyName As String
        Public Property CompanyName() As String
            Get
                Return privateCompanyName
            End Get
            Set(ByVal value As String)
                privateCompanyName = value
            End Set
        End Property
        Private privateCompanyAddress As Address
        Public Property CompanyAddress() As Address
            Get
                Return privateCompanyAddress
            End Get
            Set(ByVal value As Address)
                privateCompanyAddress = value
            End Set
        End Property
    End Class

    While this small snippet is easy enough to translate, it really comes in handy when you forget an END statement or a line continuation character or some other language specific syntax (or a squiggly bracket in C#).

    So far its going pretty well as I have only run into a few places where it did not convert the code as I expected it would. But it was easily fixed and I suspect that I had a problem because I was just converting a snippet of code (not even an entire method) and the tool could not determine if it was a property, method, or what. As I continue writing the book I will post more on my experiences with this tool, but so far its been pretty good. I don;t know if I trust it to convert my entire solution just yet, but I will be giving it a try once I have time to go through it all and test it.

    They also have a Instant C# tool that converts from VB to C#, too.

    And yes, this tool is not free :)

    #1 John Papa on 5.19.2008 at 2:44 PM

    I mentioned this bug (about converting an object initializer snippet) to Dave from Tangible Software Solutions and he sent me back an email today saying they found the bug and corrected it already! The new bits can be downloade from their web site.



    #2 Colin Jack on 5.28.2008 at 3:18 PM

    Maybe I'm being naive but would VB programmers not be able to read the C# examples?

    I never have trouble reading Java examples in books, ruby examples (such as in the REST book I'm reading) is another matter though....



    Leave a Comment