FluentStateMachine 1.6.5
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package FluentStateMachine --version 1.6.5
NuGet\Install-Package FluentStateMachine -Version 1.6.5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FluentStateMachine" Version="1.6.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FluentStateMachine --version 1.6.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FluentStateMachine, 1.6.5"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install FluentStateMachine as a Cake Addin
#addin nuget:?package=FluentStateMachine&version=1.6.5
// Install FluentStateMachine as a Cake Tool
#tool nuget:?package=FluentStateMachine&version=1.6.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
FluentStateMachine
Finite-state machine (FSM) with a fluent interface and mediators compatibility
Example
enum States { S1, S2, S3 }
enum Events { E1, E2, E3 }
var fsm = new FsmBuilder<States, Events>(States.S1)
.OnEnter(x => Console.WriteLine($"State change to {x.State} from {x.PrevState}"))
.State(States.S1)
.On(Events.E1).Execute(x => { /* some operations */ return "some data"; })
.On(Events.E2).JumpTo(States.S2)
.State(States.S2)
.On(Events.E3).Enable(x => /* some conditions */ true).JumpTo(States.S3)
.State(States.S3)
.OnEnter(x => Console.WriteLine($"Enter to final state"))
.Build();
fsm.Trigger(Event.E2);
fsm.Trigger(Event.E3);
// Console output:
// State change to S2 from S1
// State change to S3 from S2
// Enter to final state
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.8.1 | 125 | 3/4/2024 |
1.8.0 | 101 | 3/1/2024 |
1.7.1 | 104 | 2/26/2024 |
1.7.0 | 103 | 2/18/2024 |
1.6.5 | 92 | 2/18/2024 |
1.6.0 | 89 | 2/16/2024 |
1.5.1 | 89 | 2/16/2024 |
1.5.0 | 91 | 2/16/2024 |
1.4.6 | 100 | 2/13/2024 |
1.4.0 | 99 | 2/10/2024 |
1.3.1 | 92 | 2/9/2024 |
1.3.0 | 93 | 2/8/2024 |
1.0.3 | 132 | 1/13/2024 |
1.0.2 | 3,903 | 11/9/2022 |
1.0.1 | 410 | 11/13/2021 |
1.0.0 | 308 | 10/1/2021 |