.NET TIPS

C#のコードをVBに、VBのコードをC#に変換するには?

デジタルアドバンテージ 遠藤 孝信
2009/01/15

 C#やVisual Basic(VB)のコードを、別の.NET言語のコードに変換するサービスはWeb上にもいくつか存在するが(例えば、developerFusionConvert VB.NET to C#)、ここではフリーのWindowsアプリケーションである「.NET Reflector」を使用して、これを行う方法について紹介する。

逆コンパイラ「.NET Reflector」によるコード変換

 .NET Reflectorは本来、.NETのアセンブリ(実行ファイルやDLLファイル)からソース・コードへの逆コンパイルを行うツールであるが、逆コンパイルを行う際に、生成するコードの言語をC#やVBなどから選択できる(ほかにもIL、Delphi、マネージC++、Chrome(現Oxygene)を選択可)。

 この機能を利用すれば、例えば、C#のコードをVisual Studioなどでコンパイルしてアセンブリを作成し、それを.NET ReflectorによりVBのコードへ逆コンパイルできる。これにより、C#のコードをVBに変換できるというわけだ。

 以下の画面は、MSDNのFileStreamクラスの解説ページにあるC#のサンプル・プログラムを、.NET ReflectorによりC#およびVBのコードに逆コンパイルした結果だ。


コンパイルしたC#のサンプル・プログラムからC#のソース・コードを復元
.NET Reflectorでアセンブリを開くには、画面左のペインにエクスプローラからファイルをドラッグ&ドロップするのが簡単だ。


コンパイルしたC#のサンプル・プログラムからVBのソース・コードを復元

 もちろん、.NET Reflectorが元のソース・コードを完全に復元できるわけではないし、そもそもC#とVBに、すべての構文や機能が等しく備わっているわけではない。よって、意図したようなコードが得られないことも多いが、コードの変換作業が必要な場合にはかなりの手助けとなるはずだ。End of Article

カテゴリ:開発環境&ツール 処理対象:ツール

この記事と関連性の高い別の.NET TIPS
プログラムからソース・コードをコンパイルするには?
無償の逆コンパイラ「ILSpy」を利用するには?
C#のソース・コードを実行するには?
OSに標準付属のC#/VBコンパイラーでソースコードをコンパイルするには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間