【发布时间】:2011-05-27 08:56:27
【问题描述】:
我想知道为什么 EventArgs 构造函数没有受到保护,因为为每个事件分配一个空对象的资源似乎是浪费(虽然很小),特别是当有一个显然更有效的单例 EventArgs.Empty使用。这让我感到惊讶,尤其是当 .NET 的其他部分确实有一个受保护/私有构造函数来避免多次不必要的分配时,例如Comparer<T>.
在任何情况下,创建new EventArgs()(不是子类)实际上是有意义的,还是构造函数只是为了方便没有经验的开发人员使用?
【问题讨论】:
-
可能与序列化有关?我对默认的二进制序列化了解不多,但它可能是相关的......
-
如果你要去那里....为什么
object不是一个带有abstract构造函数的protected类;p(我们应该在这里假设一个合理的类应该是为同步锁提供;可能是Monitor的实例;p)