我遇到了这段代码。它有效,但是它不符合.net事件声明指南吗?
public event Action SessionTimeout;
答案 0 :(得分:3)
虽然它违反标准C#练习,但它不是无效的事件声明。
答案 1 :(得分:1)
我会将其更改为:
public event Action SessionTimeout = delegate {};
所以你不必在提升之前检查null。我假设潜在的额外CPU周期不会影响您的性能:)
答案 2 :(得分:1)
约定是.NET事件使用一个带有两个参数的委托:sender和event参数。但是,这是API约定,而不是要求。您可以声明任何委托类型的事件。