c# - Func<sometype> + Func<sometype> 的真实例子

标签 c# lambda

假设您有:

Func<string> a = () => "string here";
Func<string> b = () => "other string here";

var c = a + b;

现实世界需要什么?

最佳答案

我认为它唯一有用的情况是,如果您真的将其视为委托(delegate)列表(通过 Delegate.GetInvocationList ),并分别调用每个委托(delegate)。例如,您可以为验证器执行此操作 - 每个验证步骤都可以为“有效”返回 null 或返回错误消息。不过这种情况很少见。

委托(delegate)组合的主要用途是用于事件处理程序 - 通常委托(delegate)类型与 EventHandler 兼容(具有 void 返回类型)。在这一点上,多播委托(delegate)返回调用的最后操作的结果的行为并不重要,因为无论如何都没有返回值。

关于c# - Func<sometype> + Func<sometype> 的真实例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31875147/

相关文章:

c# - 子窗口显示时,父窗口最小化

c# - 用于像 Wireshark Diagnostics 这样的窗口的 XAML?

c# - 我可以控制反序列化 JSON 字符串时使用的子类型吗?

c++ - 如何使这些 std::function 参数明确?

python - 在 Python 3.2 中, "lambda"是否被视为 "keyword,"和 "operator"或两者?

c# - 当有多个服务可用时 WCF 服务无法启动

c# - 从事件中删除重复的委托(delegate)

lambda - Kotlin Lambda参数与抽象值

c++ - C++11 lambda 捕获实际捕获了多少?

java - 转换分支定界循环以使用 Java Stream API