gpt4 book ai didi

c# - Action<> 与事件 Action

转载 作者:行者123 更新时间:2023-11-30 13:42:50 42 4
gpt4 key购买 nike

public event Action delt = () => { Console.WriteLine("Information"); };

的重载版本

Action<int, int> delg = (a, b) => { Console.WriteLine( a + b); }; ?

我的意思是 Action<> 委托(delegate)是“事件操作”的重载版本?

最佳答案

这不叫过载。

基本上,有一组类型,声明如下:

namespace System {
delegate void Action();
delegate void Action<T>(T a);
delegate void Action<T1, T2>(T1 a1, T2 a2);
...
}

它们中的每一个都是不同的类型,独立于所有其他类型。当您尝试通过 <> 的存在或不存在来引用它时,编译器知道您指的是哪种类型在类型名称之后,以及 <> 内的类型参数数量.

event完全是另一回事,并且在其中没有任何作用。如果您对事件和委托(delegate)之间的区别感到困惑,请参阅以下两个问题:1 2

关于c# - Action<> 与事件 Action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1750628/

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