C# から VB.net への最良のコンバータは何ですか?[閉まっている]

StackOverflow https://stackoverflow.com/questions/88359

  •  01-07-2019
  •  | 
  •  

質問

VB.net の問題の解決策を求めてインターウェブを検索すると、特定のトピックに関する役立つ記事がよく見つかりますが、コードは C# です。それは大きな問題ではありませんが、手動で VB に変換するには時間がかかりました。C# から VB へ、またはその逆のコード コンバータを提供するサイトがいくつかありますが、コード変換後にすべての欠陥を修正するには、最初に自分でコードを変換するのとほぼ同じくらい時間がかかります。

今まで私が使っているのは http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx

もっと良いものを知っていますか?

役に立ちましたか?

解決

適切なコンバーターが見つからない場合は、いつでも C# コードをコンパイルし、逆アセンブラーを使用できます。 リフレクター Visual Basic コードを表示します。変数名の一部が変更されます。

他のヒント

テレリクは 良いコンバーター これは、長年にわたり非常にうまく機能してきた SharpDevelop をベースにしていますが、(SharpDevelop をベースにしているため)何年も更新されていません。

最近出会ったのですが、 roslynベースのコンバータも. 。それがどの程度うまく機能するか、どの程度よく維持されているかはわかりませんが、オープンソースであるため、必要に応じていつでもフォークして更新できます。

シャープ開発 C# と VB.NET 間のトランスレーターが組み込まれています。完璧な思考ではありません(例:VB.NET のオプション値には C# に相当する値がないため、コンバータ メソッドのシグネチャを編集する必要があります)、ただし、すべての操作を Web ページではなく IDE 内で行うため、時間を節約できます (コピー) C# コード、貼り付け、ボタンを押し、VB.NET コードをコピー、IDE に貼り付けます :P )

最善の方法は、他の言語を十分に学習して、手動で書き直せるようにすることだと思います。特定の側面では非常に難しい違いがいくつかあり、コンバーターがうまく処理できるかどうかはわかりません。たとえば、次の C# から VB への私の翻訳を比較してください。

public class FileSystemEventSubscription : EventSubscription
{
    private FileSystemWatcher fileSystemWatcher;

    public FileSystemEventSubscription(IComparable queueName, 
        Guid workflowInstanceId, FileSystemWatcher fileSystemWatcher) : base(queueName, workflowInstanceId)
    {
        this.fileSystemWatcher = fileSystemWatcher;
    }

になる

Public Class FileSystemEventSubscription
    Inherits EventSubscription  
    Private myFileSystemWatcher As FileSystemWatcher
    Public Sub New(ByVal QueueName As IComparable, ByVal WorkflowInstanceID As Guid, ByVal Watcher As FileSystemWatcher)
        MyBase.New(QueueName, WorkflowInstanceID)
        Me.myFileSystemWatcher = Watcher
    End Sub

C# は Custom Activity Framework サンプルからのものですが、リンクを失ってしまったようです。ただし、(VB の観点からすると) 見苦しい継承がいくつか含まれています。

現在、私が最も頻繁に使用しているのは次の 2 つです。

http://converter.telerik.com/

http://www.carlosag.net/tools/codetranslator/

しかし、次のような他の方法でもある程度の成功を収めています。

http://converter.atomproject.net/

http://www.dotnetspider.com/convert/Csharp-To-Vb.aspx

http://www.developerfusion.com/tools/convert/csharp-to-vb/

私は、という名前の無料の Visual Studio 2012 プラグインを使用しています。 言語変換

2010/2012 では完全に動作しますが、残念ながら VS 2013 ではまだ動作しません。

変換は 100% 正確ではありませんが、間違いなく非常に役立ちます。初めて起動する場合は少し注意が必要です。以下の画像の前に確認してください。 enter image description here

最後に確認したところ、 シャープ開発 があり、それもオープンソースです。

DLL または EXE を Redgate (旧 Lutz Roeder) にロードできます。 .Netリフレクター, 、方法を選択し、言語コンボから目的の言語を選択します。選択したメソッドのコードが選択した言語で表示されます。

これがお役に立てば幸いです。

これを試すことができます コンバータ. 。C# から VB へ、および VB から C# への機能があります。

お役に立てれば。

カルロス・アギラール・マレスは、約 40 年にわたってオンライン コンバーターを永久に使用してきました。 コードトランスレータ しかし、Reflector がより良い答えであることに私は同意します。

あなたの質問には答えませんが、私も同様の立場にあったと言いたいと思います。

.NET を実際に使い始めたときは、C# のコード サンプルが扱いにくいことに気づきましたが、最初のプロジェクトを開始して数週間後 (.NET フレームワークと VB.NET 自体に慣れてきた後)、それが厄介であることがわかりました。 C# コードをリバース エンジニアリングする必要があることは興味深いことであり、場合によっては有益です。構文の点だけでなく、アプローチの微妙な違いについても学ぶことができます。この点に関して広い心を持っておくと役に立ちます。

私はフレームワークについて学習するにつれて VB.NET に固執していますが、近いうちに「多言語」になることを目指して C# に手を付けるつもりです。

現在、CodeProject で見つけた VS2005 用のプラグインを使用しています (http://www.codeproject.com/KB/cs/Code_convert_add-in.aspx);外部サービスを使用します (http://www.carlosag.net/Tools/CodeTranslator/) 翻訳を実行します。

時々、オフラインのときにコンバーター ツールを使用します (http://www.kamalpatel.net/ConvertCSharp2VB.aspx).

でのもの http://www.developerfusion.com/tools/convert/csharp-to-vb/ (新しい URL) は .NET 3.5 構文をサポートするようになり (#develop の皆さんに改めて感謝します)、結果が自動的にクリップボードにコピーされます :)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top