是否有一种方法可以将函数及其参数存储在一个变量中以供以后调用?

本文关键字:变量 一个 调用 存储 方法 一种 是否 函数 参数 | 更新日期: 2023-09-27 18:17:26

在c#中,我想做这样的事情。

var fn = // set it to the function and parameters it'll use
fn();

在一个假设的例子中,假设我想返回一个函数,包含它需要执行的所有参数,我只是想从其他地方执行它。

是否有一种方法可以将函数及其参数存储在一个变量中以供以后调用?

您可以创建一个调用该函数的Action委托,参数如下:

var fn = () => OtherFunction(param1, param2);

如果参数可以在fn被调用之前改变,你可以复制参数,如果是通过值赋值给新的变量,或者实现一些Clone机制,如果是通过引用:

var value1 = param1;  // In case of value types.
var value2 = param2;  // In case of value types.
var fn = () => OtherFunction(value1, value2);

然后调用fn动作:

fn();