1

私はc#にこのコードを持っています

void Backup()
{
    string constr = "server=localhost;user=root;pwd=qwerty;database=test;";
    string file = "C:\\MyDumpFile.sql";
    MySqlBackup mb = new MySqlBackup(constr);
    mb.ExportInfo.FileName = file;
    mb.ExportProgressChanged += new MySqlBackup.exportProgressChange(mb_ExportProgressChanged);
    mb.ExportCompleted += new MySqlBackup.exportComplete(mb_ExportCompleted);
    timerRead.Start();
    mb.Export();
}

に変換されたときVBNet

Private Sub Backup()
    Dim constr As String = "server=localhost;user=root;pwd=qwerty;database=test;"
    Dim file As String = "C:\MyDumpFile.sql"
    Dim mb As New MySqlBackup(constr)
    mb.ExportInfo.FileName = file
    mb.ExportProgressChanged = mb.ExportProgressChanged + New MySqlBackup.exportProgressChange(mb_ExportProgressChanged)
    mb.ExportCompleted = mb.ExportCompleted + New MySqlBackup.exportComplete(mb_ExportCompleted)
    timerRead.Start()
    mb.Export()
End Sub

私はいつもこのエラーが発生します

「exportProgressChange」は「MySql.Data.MySqlClient.MySqlBackup」の型であり、式として使用することはできません。

ここで何が欠けていますか?

4

1 に答える 1

2
Private Sub Backup()
Dim constr As String = "server=localhost;user=root;pwd=qwerty;database=test;"
Dim file As String = "C:\MyDumpFile.sql"
Dim mb As New MySqlBackup(constr)
mb.ExportInfo.FileName = file
AddHandler mb.ExportProgressChanged, New MySqlBackup.exportProgressChange(AddressOf mb_ExportProgressChanged)
AddHandler mb.ExportCompleted, New MySqlBackup.exportComplete(AddressOf mb_ExportCompleted)
timerRead.Start()
mb.Export()
End Sub

動作するはずですが、VB .netでは、イベントのサブスクライブに+ =を使用できないため、とを使用する必要がAddHandlerありRemoveHandlerます。

編集:試してみたので、正常にコンパイルされました。

于 2012-11-02T11:26:15.493 に答える