C# Action Delegates

The MS Documentation page on Action says that this wrapper “encapsulates a method that has a single parameter and does not return a value.” This is also what most tutorials says. However, I seem to have no problems doing this in Unity:

    public static Action OnLevelStarted;

And then, later:


Other classes subscribe to this as usual (with +=) and everything seems to work. It’s much more concise than having Delegates and Events declarations all over the place, and it doesn’t seem to require a parameter (although it works nicely when it uses one). Is there some sort of magic here? How come I get no errors when using an Action without any parameters?

You refer to the wrong documentation page. The Action delegate and the generic delegate Action<T> are two different types