c# - 将参数传递给方法并分配给 Func 类型
问题描述
我目前有一个类似的方法
public static bool test(string str);
我想将此方法分配给这种类型
Func<bool> callback
我正在尝试这样做(这是不正确的)
callback = test("Str");
以上是不正确的,因为我正在调用方法的 C# 事物。如何告诉它使用参数 Str 调用该方法?在 C++ 中,我们可以做到这一点
std::function<...,..,"str">
我们如何在 C# 中做类似的事情?
解决方案
如果您的目标是始终使用相同的字符串参数(而不是每次都使用不同的参数)调用回调,您可以将其声明为:
Func<bool> callback = () => test("Str");
var result = callback();
但是,如果您打算每次都传递不同的字符串值,那么您需要一个Func<string, bool>
:
Func<string, bool> callback = s => test(s);
var result = callback("Str");
推荐阅读
- r - 通过关键短语对这样的文本进行子集化的最佳方法是什么?
- c# - WPF - 在字典中使用按钮
- python - 如何计算 pandas/sklearn 中一列中不同子类别之间的余弦相似度?(基于知识的推荐)
- android - android studio idea adb 继续重新连接
- java - 获取节点内节点的值
- python - AttributeError:“numpy.ndarray”对象没有属性“set_aspect”
- python - 二进制:在数组中生成所有可能性
- javascript - 所有其他项目的值更新(反应)
- javascript - 平衡括号。确定必须插入的最小字符数
- windows - 调用 msiexec 的 Windows 服务不会更新服务