任何人都可以将此vb.net代码转换为C#?

时间:2013-03-10 20:41:25

标签: vb.net-to-c# sharpffmpeg

我在将此代码( 使用此FFmpeg Wrapper )转换为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

1 个答案:

答案 0 :(得分:1)

C#与Handles关键字没有严格的等价物;你需要做的是在构造函数中自己添加事件处理程序。

public Form1() {
    ...

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

你不需要WithEvents的等价物,因为它只告诉VB有事件需要连接,而在C#中你自己这样做。

其余的是非常简单的翻译。 Sub基本上是void返回类型ByVal的函数,Handles子句可以消失,关键字是小写,其余只是分号和大括号。< / p>

例如,

private void ConOut(String prog, String tl) {
    OperationPrgrss.Value = prog;
    Application.DoEvents();
}