.NET2中的动作委托-使用泛型类型'System.Action'需要& # 39;1 & # 3

本文关键字:Action 需要 System NET2 泛型类型 | 更新日期: 2023-09-27 18:15:35

我正在将工作代码从。net 4移植到。net 2(一个WinCE设备)。

Action不带参数也不返回值的用法在。net 2中是不允许的

下面第5行的编译错误:使用泛型类型'System. '操作'需要'1'类型参数

解决方案的想法吗?

//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

.NET2中的动作委托-使用泛型类型'System.Action<T>'需要& # 39;1 & # 3

确实,非泛型的Action是在。net 3.5中添加的。

然而,Action只是一个普通的委托类型,所以你可以简单地滚动你自己的,像这样:

public delegate void Action();