C#とVB.NETのソース相互変換

.NETは複数の言語で開発が可能という特徴があるが、それが却って災い?することがある。それは.NET開発者向けのサイトに掲載されている、サンプルコードの実装も複数存在しいることだ。MSDNであれば全ての言語でのサンプルをを見ることができるが、個人サイトだと丁寧な所でもVB.NETC#の両方がサポートされているのは稀で、大抵はどちらか一方のソースコードだけしか掲載されていない。
私はVisual Basic2.0でオープン系の開発に触れた人間なので、本来VB系のソースは追えるのだが、C, DelphiからJavaを経てC#に来た今はVB系のソースを追うのは正直面倒だ。

Convert VB.NET to C#(C# to VB.NET)/ DEVELOPERfusion

このサイトではC#VB.NETソースコードの相互変換を行ってくれる。どれ位の規模まで可能かは試してはいないが、ちょっとしたサンプルコードであれば十分なのではないだろうか。どのような方法を取っているのか解らないが、変換も非常に速い。しかし、残念ながらC#からVB.NETへの変換の際にGenericsを使用していると変換に失敗してしまうので、Genericsを含むコードは変換を諦めるか、Genericsを外して変換するしかないようだ。あと、コメントは全て外されてしまい変換後には消えてしまう。

追記:
どうも変換が完全ではないようだ。例えば、スーパクラスのコンストラクタ記述が上手くいかない。

変換前

Public Sub New(ByVal hoge As Object, ByVal foo As String)
    MyBase.New(hoge , foo )
End Sub

変換後

public HogeClass(object hoge, string foo) 
{ 
   base.New(hoge, foo); 
} 

こうやって、変換前と後をチェックしているうちにVB.NETソースコードに慣れてしまうのかもしれない。(それが狙いだったりして)