0

このコード (このFFmpeg ラッパーを使用するため) を C# に変換する際に問題に直面しています。これは私のプロジェクトの主要言語であるためです。

http://www.developerfusion.com/tools/convert/vb-to-csharp/を試し ましたが、結果コードはうまくいきませんでした:(

初心者のリクエストであることは承知しています。申し訳ありません。

コード :

    Public WithEvents MediaConverter As New FFLib.Encoder

    Private Sub ConOut(ByVal prog As String, ByVal tl As String) Handles MediaConverter.Progress
        OperationPrgrss.Value = prog
        Application.DoEvents()
    End Sub

    Private Sub stat(ByVal status) Handles MediaConverter.Status
        StatusLbl.Text = status
        Application.DoEvents()
    End Sub
4

1 に答える 1

1

HandlesC# には、キーワードに厳密に相当するものはありません。必要なことは、コンストラクターにイベント ハンドラーを自分で追加することです。

public Form1() {
    ...

    // wire up events
    MediaConverter.Progress += ConOut;
    MediaConverter.Status += stat;
}

に相当するものは必要ありません。これはWithEvents、接続するイベントがあることを VB に伝えるだけであり、C# では自分で行うためです。

残りは非常に簡単な翻訳です。ASubは基本的にvoid戻り値の型を持つ関数でByValあり、Handles節はなくてもかまいません。キーワードは小文字で、残りはセミコロンと波括弧だけです。

例えば、

private void ConOut(String prog, String tl) {
    OperationPrgrss.Value = prog;
    Application.DoEvents();
}
于 2013-03-10T20:59:28.110 に答える