gpt4 book ai didi

c# - F# 中的事件和委托(delegate)

转载 作者:太空狗 更新时间:2023-10-29 20:51:07 25 4
gpt4 key购买 nike

我没有任何 F# 经验,但有几行 C# 测试代码用于我制作的框架,我需要用 F# 重写。

如有任何帮助,我们将不胜感激。

    bar.Ready += new Agent.ReadyHandler(bar_Ready);               

static void bar_Ready(string msg)
{
Console.WriteLine(msg.body);
}

最佳答案

只是为了澄清 - 较短的版本应该是正确的:

bar.Ready.Add(fun msg -> System.Console.WriteLine(msg))  

因为 F# 不会自动将 lambda 函数转换为委托(delegate) - 但有一个采用函数的 Add 方法。然后可以这样写得更简单:

bar.Ready.Add(System.Console.WriteLine)  

因为 F# 允许您将 .NET 成员用作一流函数。

关于c# - F# 中的事件和委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/550716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com