For your code converter, there is a little problem that you should consider.To add an event handler in C#, it is like so :obj.xEvent += new EventHandler<EventArgs>(obj_xEvent);Your converter convert it like this :obj.xEvent += New EventHandler(Of EventArgs)(obj_xEvent)

But in VB, it's really far from it. You have to do this like so :AddHandler Obj.XEvent, AddressOf Me.XEventHandler

I converted several hundred thousand lines of code from VS to C# using the online tool - glutton for punishment I guess! I found a couple of problems that I think might be easy to fix that would eliminate 70% of the problems I saw.

1) In VS you can have functions with no inputs - subs. There are many common ones, like .ToString(), .ToUpper(), etc. VS demands you leave off the parens in these cases, but C# demands them. The converter fails to notice these and so I have to manually add "()" to thousands of lines of code.

3) The convertor ignores #if #else #endif, and so it sees both halfs of the code. So if you have an End Sub in an if block, for instance, it can't convert it because it sees two End Subs. Suggest commenting out the one that is not active, or if that's not obvious, leaving the first active and commenting out all the ELSE side of things.