I'm porting working code from .NET4 to .NET2 (a WinCE device).
The usage of Action taking no arguments and returning no value isn't allowed in .NET2
compile error on line 5 below: Using the generic type 'System.Action' requires '1' type arguments
Workaround thoughts?
//first state is the default for the system
public enum States { EnterVoucherCode, EnterTotalSale, ProcessVoucher };
public enum Events { PressNext, PressRedeem, ProcessSuccess, ProcessFail, PressBackToVoucherCode };
public States State { get; set; }
private Action[,] fsm; //Fails to compile here
public FiniteStateMachine()
{
//array of action delegates
fsm = new Action[3, 5] {
//PressNext, PressRedeem, ProcessSuccess, ProcessFail, PressBackToVoucherCode
Indeed, the non-generic Action
was added in .NET 3.5.
However, Action
is just an ordinary delegate type, so you could simply roll your own, like so:
public delegate void Action();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With