PosSharp v1.2.0 API Reference

--- #### [PosSharp\.Core](PosSharp.Core 'PosSharp\.Core') ### [PosSharp\.Core](PosSharp.Core 'PosSharp\.Core').[AtomicState<TState>](PosSharp.Core.AtomicState_TState_ 'PosSharp\.Core\.AtomicState\') ## AtomicState\\.Transition\(Func\\) Method アトミックに状態を遷移させます。 [transform](PosSharp.Core.AtomicState_TState_.Transition(System.Func_TState,TState_).md#PosSharp.Core.AtomicState_TState_.Transition(System.Func_TState,TState_).transform 'PosSharp\.Core\.AtomicState\\.Transition\(System\.Func\\)\.transform') は CAS の競合時に複数回呼び出される可能性があるため、 副作用のない純粋関数である必要があります。 ```csharp public PosSharp.Core.StateTransitionResult Transition(System.Func transform); ``` #### Parameters `transform` [System\.Func<](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TState](PosSharp.Core.AtomicState_TState_#PosSharp.Core.AtomicState_TState_.TState 'PosSharp\.Core\.AtomicState\\.TState')[,](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2')[TState](PosSharp.Core.AtomicState_TState_#PosSharp.Core.AtomicState_TState_.TState 'PosSharp\.Core\.AtomicState\\.TState')[>](https://learn.microsoft.com/en-us/dotnet/api/system.func-2 'System\.Func\`2') 現在の状態を受け取り、新しい状態を返す変換関数。 同一参照を返した場合、遷移は行われません。 #### Returns [PosSharp\.Core\.StateTransitionResult<](PosSharp.Core.StateTransitionResult_TState_ 'PosSharp\.Core\.StateTransitionResult\')[TState](PosSharp.Core.AtomicState_TState_#PosSharp.Core.AtomicState_TState_.TState 'PosSharp\.Core\.AtomicState\\.TState')[>](PosSharp.Core.StateTransitionResult_TState_ 'PosSharp\.Core\.StateTransitionResult\') 遷移結果。 #### Exceptions [System\.ArgumentNullException](https://learn.microsoft.com/en-us/dotnet/api/system.argumentnullexception 'System\.ArgumentNullException') [transform](PosSharp.Core.AtomicState_TState_.Transition(System.Func_TState,TState_).md#PosSharp.Core.AtomicState_TState_.Transition(System.Func_TState,TState_).transform 'PosSharp\.Core\.AtomicState\\.Transition\(System\.Func\\)\.transform') が null の場合。