你是否有这种需求:
定义一个方法,参数为一个Action委托:
public void ExpMethod(Action inputDel)
{
inputDel();
}
并定义一个方法用于作为参数传入ExpMethod:
public int Add(int x, int y)
{
return x + y;
}
调用ExpMethod方法时,希望能在参数中放参数,像这样:
//以下为错误代码
ExpMethod(Add(1, 2));
//期望输出:3
解决方法:
将ExpMethod方法的参数里再加几个参数:
public void ExpMethod(Action inputDel, int methodParam1, int methodParam2)
{
inputDel(methodParam1, methodParam2);
}
调用时即可同时传入委托以及委托的参数:
ExpMethod(Add, 1, 2));
//输出:3