如何使用 permitDynamic 无状态 dotnet

分享于2022年07月17日 c# stateless-state-machine 问答
【问题标题】:如何使用 permitDynamic 无状态 dotnet(How to use permitDynamic stateless dotnet)
【发布时间】:2022-07-13 18:01:09
【问题描述】:

我正在尝试使用无状态 dotnet。

我需要一个转换来作为字符串变量的条件。

_machine.Configure(State.CalibSelectDisplay1)
            .Permit(Trigger.Up, State.CalibSelectDisplay2)
            .Permit(Trigger.Down, State.CalibSelectDisplay12)
            .Permit(Trigger.SC, State.Init)
            .PermitDynamic(Trigger.Enter, methodThatReturnsNewState(params));

但我收到一条错误消息:

CS1503:Argument2:无法从“MS_Firmware.Firmware.State”转换为“System.Func


【解决方案1】:

尝试使用 lambda 代替

PermitDynamic(Trigger.Enter, () => methodThatReturnsNewState(params));