我错过了什么或者这不是宣布活动的正确方法吗?

时间:2011-04-19 19:35:11

标签: c#

我遇到了这段代码。它有效,但是它不符合.net事件声明指南吗?

public event Action SessionTimeout;

3 个答案:

答案 0 :(得分:3)

虽然它违反标准C#练习,但它不是无效的事件声明。

答案 1 :(得分:1)

我会将其更改为:

public event Action SessionTimeout = delegate {};

所以你不必在提升之前检查null。我假设潜在的额外CPU周期不会影响您的性能:)

答案 2 :(得分:1)

约定是.NET事件使用一个带有两个参数的委托:sender和event参数。但是,这是API约定,而不是要求。您可以声明任何委托类型的事件。