将带参数的方法传递给接受Action类型参数的方法会导致语法错误:
无法将“void”转换为“System.Action”
但是,如果我传递一个没有任何参数的方法,它就可以正常工作。
我假设在传递没有参数的方法时,C#
会自动执行某些操作。
我想知道它在幕后正在做什么以及如何处理具有参数的方法。
public void Invoke(Action action){ /*Code Here */ }
public void Method1(){ /*Code Here */}
public void Method2(int param){ /*Code Here */ }
public void test()
{
int testParam = 1;
//** This works
Invoke(Method1);
//** This does not work
Invoke(Method2(testParam));
}