Мне нужно добавить несколько охранников к определенному состоянию в моем .Net Stateless State State .
Рассмотрим следующий ложный сценарий.Я могу разрешить переход от Вставки к Изменению только при соблюдении двух условий:
_sm.Configure(State.Insert)
.PermitReentry(Trigger.Insert)
.PermitIf(Trigger.Modify, State.Modified, Condition1, "Only permitted when condition 1 true")
.PermitIf(Trigger.Modify, State.Modified, Condition2, "Only permitted when condition 2 true")
.Permit(Trigger.Cancel, State.Canceled)
В приведенном выше коде оценивается только первое условие.В качестве альтернативы я мог бы объединить два условия в одно, передав его в одном PermitIf, но я бы предпочел этого не делать:
.PermitIf(Trigger.Modify, State.Modified, BundledCondition, "Only permitted when bundled condition is true")
Есть ли способ реализовать несколько элементов защиты в dotnet-state-machine?