.NET без сохранения состояния нескольких PermitIf - PullRequest
1 голос
/ 05 июня 2019

Мне нужно добавить несколько охранников к определенному состоянию в моем .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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...