C# .NET2中的操作委托-使用泛型类型';系统行动<;T>';需要';1';类型参数
我正在将工作代码从.NET4移植到.NET2(一个WinCE设备) .NET2中不允许使用不带参数且不返回值的操作 下面第5行的编译错误:使用泛型类型“System.Action”需要“1”类型参数 变通思路C# .NET2中的操作委托-使用泛型类型';系统行动<;T>';需要';1';类型参数,c#,delegates,C#,Delegates,我正在将工作代码从.NET4移植到.NET2(一个WinCE设备) .NET2中不允许使用不带参数且不返回值的操作 下面第5行的编译错误:使用泛型类型“System.Action”需要“1”类型参数 变通思路 //first state is the default for the system public enum States { EnterVoucherCode, EnterTotalSale, ProcessVoucher }; public enum Events {
//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
实际上,在.NET3.5中添加了非通用的
操作
但是,Action
只是一种普通的委托类型,因此您可以简单地使用自己的委托类型,如下所示:
public delegate void Action();