c# - C#中事件的正常实现和显式实现之间有什么区别

标签 c# .net events

这是一个正常的实现:

public event MyDelegate MyEvent; 

这是显式实现:

private MyDelegate eventStorage
public event MyDelegate MyEvent
{
  add
  {
     eventStorage += value;
  }
  remove
  {
     eventStorage -= value;
  }
}

那么,哪种实现更合适,我应该在哪些情况下使用它们? 谢谢指教

最佳答案

这两个示例是等效的 - 编译器会在编译第一个版本时生成第二个版本(或类似版本)。

这只是 syntactic sugar - 使用您觉得更舒服的那个。

你可以认为这类似于编译器对 auto-implemented properties 所做的事情, 反之亦然。

关于c# - C#中事件的正常实现和显式实现之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10946346/

相关文章:

c# - 如何检索图像并将其显示在 GridView 中?

c# - 在 C# 中获取系统时钟更改滴答

objective-c - 在 Objective-C 中自动点击 iTunes 鼠标

c# - 将 C++ i_pwCalculateCRC16Continuation 移植到 C#

c# - 是否有类似 boost::asio for .NET (Mono) 的东西?

c# - System.Windows.Controls.Canvas 到 System.Windows.Controls.TextBox 的无效转换异常

c# - BlockingCollection 或 Queue<T> 用于作业?

c# - 无法在 VS 2017 U1 (15.3) 中打开的项目上加载类型 'Microsoft.Build.Framework.SdkReference'

javascript - Cytoscape.js - 获取 ".on(tap)"事件位置

c# - 如何转换 JToken