public async Task <T?> TryRehydrateState(Guid streamId) { return((await _snapshotReader.TryRestoreSnapshot(streamId).ConfigureAwait(continueOnCapturedContext: false)) switch { T snapshot => await Rehydrate(streamId, snapshot).ConfigureAwait(continueOnCapturedContext: false), _ => await TryRehydrate(streamId).ConfigureAwait(continueOnCapturedContext: false), });
public async Task <T> TryRehydrateState(Guid streamId) { switch (await _snapshotReader.TryRestoreSnapshot(streamId).ConfigureAwait(continueOnCapturedContext: false)) { case T snapshot: return(await Rehydrate(streamId, snapshot).ConfigureAwait(continueOnCapturedContext: false)); default: return(await TryRehydrate(streamId).ConfigureAwait(continueOnCapturedContext: false)); } }