2009-02-27 53 views
25

我看到这条线在使用Action委托的许多网上的例子:零动作代表参数

public event Action MyEvent; 

但是,当我尝试在自己的代码,我得到这个错误

使用一般类型 “System.Action”需要“1”类型 参数

文档肯定描述了一种形式没有任何类型参数的Action。我错过了什么?

+4

不是问题的答案,但不应该为事件使用动作。使用EventHandler或EventHandler 作为事件的代表。 – 2009-02-27 01:46:05

+2

@GregBeech,感谢您的提示,但是在这里不使用Action的原因是什么? – 2011-09-26 18:43:45

+0

@ I.J.Kennedy这个答案是相当真棒http://stackoverflow.com/a/803320/1608072 – caiosm1005 2013-12-10 02:39:15

回答

22

确保您的应用程序引用了System.Core

编辑 - 也请确保您的目标是.NET 3.5,因为System.Core.dll是该版本的一部分。

36

扩大安德鲁斯答案。

在非3.5场景中使用Action是完全合法的。只需自己定义它。

public delegate void Action();