在c#中,我们可以通过各种方式创建委托(例如,动作<>,函数<>,委托,lambdas等)。但是,当你调用这些方法,你必须提供委托的参数值要调用:如何在C#中创建完全参数化的方法委托?
delegate int del(int i);
del myDelegate = x => x * x;
int j = myDelegate(5);
有没有在C#的方式来封装具有参数值的方法的委托?基本上延迟了完全参数化方法的调用?所以你不必在调用时提供参数值?
例如这样的无效代码:
delegate int del(int i);
del myDelegate(5) = x => x * x;
int j = myDelegate;
我知道该用例是不是很明显。在我目前正在研究的情况下,我有一个非确定性方法,我希望调用方能够调用而不必包含或知道方法所需的参数。实现这一点的一种方法是通过创建一个封装了参数值和方法委托的类,并让调用者引用和调用它。但我只是好奇,如果有一种替代,更简洁的方式。