質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

解決済

C# [デリゲート 'Action' には引数 2 を指定できません]の対処法方法が知りたい

samidare_chan
samidare_chan

総合スコア278

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

1回答

0リアクション

0クリップ

353閲覧

投稿2022/07/31 01:15

提示コードですが///コメント部内部のコードで以下のエラーが出るのですがこれはどうやって対処したらいいのでしょうか?
デリゲート 'Action' には引数 2 を指定できませんとありますが二つの引数を設定したい場合が知りたいです。

エラー CS1593 デリゲート 'Action' には引数 2 を指定できません

リファレンス: https://docs.microsoft.com/ja-jp/dotnet/api/system.threading.tasks.taskfactory.startnew?view=net-6.0#system-threading-tasks-taskfactory-startnew(system-action((system-object))-system-object-system-threading-cancellationtoken-system-threading-tasks-taskcreationoptions-system-threading-tasks-taskscheduler)

cs

private async void buttonConvert_Click(object sender, EventArgs e) { Action<SemaphoreSlim,FileData> action = (SemaphoreSlim slim,FileData data) => { //Process(slim, data.getFilePath(),data.getSavePath()); this.Invoke((Action)(() => { progressBar_float += progressBarPerFile; progressBar.Value = (int)progressBar_float; })); }; if (folderBrowserDialogSavePath.SelectedPath != "") { if(filePathList.Count > 0) { progressBarPerFile = 100.0f / (float)filePathList.Count; //プログラスバーを設定 buttonConvert.Enabled = false; Stopwatch sw = new Stopwatch(); sw.Start(); var slim = new SemaphoreSlim(5); for(int j = 0; j < filePathList.Count; j++) { ///////////////////////////////////////////////////////////////// taskList.Add(Task.Factory.StartNew((slim,data) => { //Process(slim, data.getFilePath(),data.getSavePath()); this.Invoke((Action)(() => { progressBar_float += progressBarPerFile; progressBar.Value = (int)progressBar_float; })); } )); ////////////////////////////////////////////////////////////////// } await Task.WhenAll(taskList); buttonConvert.Enabled = true; progressBar.Value = 0; sw.Stop(); TimeSpan ts = sw.Elapsed; Debug.WriteLine("convert time: " + ts.TotalSeconds +"."+ ts.Milliseconds); } else { MessageBox.Show("NO input file(s)", "", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("\n\n NO set save path", "", MessageBoxButtons.OK, MessageBoxIcon.Error); } }

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/07/31 13:21

こちらの質問が複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。