是否可以使用表单中的参数调用方法?我知道我可以使用一个动作。我想闭包会在动作中捕获变量以使其起作用。不过,我觉得方法会更干净。我的代码库中有很多这样的操作,我不喜欢它们隐藏在难以重构的方法内部。
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”