是否可以将条件作为参数传递给操作?
这是一个例子。
public void Test(Action action, Condition condition);
...
Test( () => Environment.Exit(0), () => variable == variable2 );
答案 0 :(得分:14)
尝试将第二个参数传递为Func<Boolean>
类型。代码应该在你的问题的第二部分中有效:
public void Text(Action action, Func<Boolean> condition) {
if (condition()) action();
}
编辑:请注意,您在用法示例中要做的是创建包含捕获的变量variable和variable2的Closure。在以这种方式使用闭包之前,您应该了解闭包的含义。