c# - 为什么 EventArgs 构造函数不 protected ?

标签 c# events singleton

我想知道为什么 EventArgs构造函数不 protected ,因为为每个事件为空对象分配资源似乎是一种浪费(尽管很小),尤其是当存在单例时 EventArgs.Empty这显然使用起来更有效率。这让我感到惊讶,尤其是当 .NET 的其他部分确实有一个 protected /私有(private)的构造函数来避免多次不必要的分配时,例如Comparer<T> .

是否存在创建 new EventArgs() 的情况? (不是子类)实际上是有意义的,还是构造函数仅可用于简化没有经验的开发人员的使用?

最佳答案

我会说这是因为 EventArgs 类的 ComVisible 属性设置为 true

这得到了以下 FxCop rule 的支持:

A reference type that is specifically marked as visible to COM contains a public parameterized constructor but does not contain a public default (parameterless) constructor.

关于c# - 为什么 EventArgs 构造函数不 protected ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6149947/

相关文章:

c# - 以记录作为参数调用 Oracle 存储过程

excel - VBA Excel-如何使用 MS Excel 关闭中的取消按钮?

ios - NSTimer 没有从 Singleton 类触发

Erlang 和 Singleton 的好习惯?

c# - 将 docx 文件合并在一起,包括页眉、页脚和图片

c# - 在 C# 项目上使用 gettext

mysql 检查一行的最后更新时间

python - 在 Python 2.7 中模拟按键事件

java - 为什么将 Spring DI 添加到 Jersey 1.19.1 会使我的资源成为单例?

c# - 获取资源文件夹路径c#