匿名メソッドを使用してデリゲートを次の場所に渡そうとしていprogressBar.Invoke(Delegate)
ます:
progressBar.Invoke(() => progressBar.Value = count);
しかし、次のエラーが発生します。
デリゲート型ではないため、ラムダ式を型'System.Delegate'に変換できません。
誰かが私が間違っていることを説明してもらえますか?
匿名メソッドを使用してデリゲートを次の場所に渡そうとしていprogressBar.Invoke(Delegate)
ます:
progressBar.Invoke(() => progressBar.Value = count);
しかし、次のエラーが発生します。
デリゲート型ではないため、ラムダ式を型'System.Delegate'に変換できません。
誰かが私が間違っていることを説明してもらえますか?
そのメソッドは、アクションではなく、デリゲートを取ります。したがって、これを行うと、次のようになります。
() => { .. }
どのデリゲートが必要かわかりません。代わりにこれを行ってください:
progressBar.Invoke(new Action(() => progressBar.Value = count));
Invoke
特定のタイプのデリゲートを使用するのではなく、を使用しますDelegate
(つまり、任意の署名を持つ任意のデリゲートを使用できます)。特定のタイプのデリゲートを渡す必要があります(どちらを選択してもかまいません)。
progressBar.Invoke(new Action(() => progressBar.Value = count));