Jon*_*eet 20
通常情况下,这些天您创建自己的类EventArgs,然后只使用EventHandler<TEventArgs>- 不需要创建单独的委托类型.所以不要AlarmEventHandler使用EventHandler<AlarmEventArgs>.的EventArgs派生类通常应当是顶层(即非嵌套).
我会在外面宣布它们,因为它们也被其他类使用 - 事件的消费者.如果委托特定于此类,我会将委托保留在与该类相同的文件中.
如果您使用EventHandler<TEventAgrs>.NET 2.0及更高版本中提供的通用版本,则不会出现问题,因为您只需要声明自定义EventArgs.