フォームからパラメータを指定してメソッドを呼び出すことはできますか? 私はアクションを使用できることを知っています。これが機能するように、クロージャーはアクションで変数をキャプチャすると思います。それでも、私はメソッドがよりきれいになると感じています。コードベースにはこれらのアクションがたくさんありますが、リファクタリングが難しいメソッド内に隠されているのは好きではありません。
public static void Main()
{
Form form = new Form();
Action action = () => form.SendToBack();//(Now Imagine this Action is 50 lines of code and there's 15 of them...Then it should make sense as to why I want to seperate this logic out into classes and methods.
//Action action2 = AMethod(form);//doesnt work
Task.Factory.StartNew(
() =>
{
//form.Invoke(AMethod);//doesnt work see error below...also no params
form.Show();
form.Invoke(action);
Application.Run();
}
);
Console.Read();
}
public static void AMethod(Form form)
{
form.SendToBack();
}
更新
コメントごとにオーバーロードを試しましたが、form.Invoke(AMethod,form);
エラーが発生しました:
引数 1: 'メソッド グループ' から 'System.Delegate' に変換できません