26

I see this line in many online examples of using the Action delegate:

public event Action MyEvent;

But when I try it in my own code, I get this error

Using the generic type 'System.Action' requires '1' type arguments

The documentation certainly describes a form of Action without any type parameter. What am I missing?

I. J. Kennedy
  • 24,725
  • 16
  • 62
  • 87

2 Answers2

39

Expanding on Andrews answer.

It's perfectly legal to use Action in a non-3.5 scenario. Simply define it yourself.

public delegate void Action();
JaredPar
  • 733,204
  • 149
  • 1,241
  • 1,454
23

Make sure your application is referencing System.Core.

Edit - also make sure you are targeting .NET 3.5 as the System.Core.dll is part of that version.

Andrew Hare
  • 344,730
  • 71
  • 640
  • 635