将带参数的函数传递给不需要参数的委托
本文关键字:参数 不需要 函数 | 更新日期: 2023-09-27 17:58:27
我知道在Python中,可以使用functools.partial
传递一个函数对象,该对象具有已经定义的部分或全部参数。
在C#中有办法做到这一点吗?我想做以下事情:class1.MethodTakingAMethodParameter(3, "foo", class1.MethodToPass(param1, param2, param3));
对于像delegate void Blah()
这样的代表。
您可以使用lambdas为一些参数提供一个值:
Action paramlessDelegate = ()=>MyFunc(value1,value2,value3)
或者,如果你只想在一些参数中输入一个值:
Action<int> oneParamDelegate = (remainingParam)=>MyFunc(value1, remainingParam, value3)
在您的示例中:
class1.MethodTakingAMethodParameter(3, "foo", ()=>class1.MethodToPass(param1, param2, param3));