クラス全体でデリゲートを利用できるようにしたいと考えています。これは、外部クラスのbackgroundWorkerから呼び出されたメソッドが、そのメソッド(ExternalClass.Run(); ExternalClass.Method2(); ExternalClass.Method3()などを継続的に報告できるようにすることです。C#クラスでデリゲートを利用できるようにする
私は、デリゲートのインスタンスをグローバルに初期化して、Run()で渡されたインスタンスと等しくなるように設定しようとしましたが、それまでの各メソッドに対してそれに利用できる持っているが、私はnullオブジェクトが暗黙的に変換できないというエラーを与えています。私は私がいないと私が働いているコードを表示することはできません
感謝!
現在私と一緒に持っています(私のラップトップにあります)が、今私はもっと説明しようとします。擬似コード:
class form1 : form {
backgroundWorker_doWork()
{
Class2.Run();
}
backgroundWorker_OnProgressChange()
{
// do this
}
}
class class2{
Run(){
OtherMethod();ThirdMethod();
}
OtherMethod(){ //need to call backgroundWorker.ReportProcess(int, string)}
ThirdMethod(){ //need to call backgroundWorker.ReportProcess(int, string)}
}
私は本当にそれを毎回渡すためにしたくないポイントですが、私は何とかあなたがそのあなたのコードが表示されるはずです
説明が明確ではありません。あなたの試行のコードを示してください。 –
BackgroundworkerのReportProgress()メソッドが目標を達成しましたか? – jim