,System.Text.Json.Serialization.Metadata.JsonTypeInfo{--0},ReactiveUI.ISuspensionDriver)}
SuspensionHostExtensions.SetupDefaultSuspendResume(ISuspensionHost, ISuspensionDriver?) method¶
Defined in
Type: SuspensionHostExtensions
Namespace: ReactiveUI
Assembly: ReactiveUI.dll
Applies to
net10.0, net10.0-android36.0, net10.0-ios26.0, net10.0-macos26.0, net10.0-windows10.0.19041, net10.0-tvos26.0, net10.0-maccatalyst26.0, net10.0-desktop1.0, net10.0-browserwasm1.0, net9.0, net9.0-tvos18.0, net9.0-maccatalyst18.0, net9.0-windows10.0.19041, net9.0-desktop1.0, net9.0-browserwasm1.0, net9.0-macos15.0, net9.0-ios18.0, net9.0-android35.0, net8.0, net8.0-macos14.5, net8.0-macos14.2, net8.0-maccatalyst17.5, net8.0-ios17.5, net8.0-tvos18.0, net8.0-macos15.0, net8.0-ios18.0, net8.0-windows10.0.19041, net8.0-maccatalyst18.0, net8.0-tvos17.2, netstandard2.1, net481, net462
Overloads¶
- 1.
public static IDisposable SetupDefaultSuspendResume(this ISuspensionHost item, ISuspensionDriver? driver = null) - 2.
public static IDisposable SetupDefaultSuspendResume<TAppState>(this ISuspensionHost<TAppState> item, JsonTypeInfo<TAppState> typeInfo, ISuspensionDriver? driver = null) where TAppState : class
1. Overload¶
Attributes: [RequiresUnreferencedCode("This overload may invoke ISuspensionDriver.LoadState()/SaveState<T>(T), which are commonly reflection-based. Prefer SetupDefaultSuspendResume<TAppState>(..., JsonTypeInfo<TAppState>, ...) for trimming/AOT scenarios.")] [RequiresDynamicCode("This overload may invoke ISuspensionDriver.LoadState()/SaveState<T>(T), which are commonly reflection-based. Prefer SetupDefaultSuspendResume<TAppState>(..., JsonTypeInfo<TAppState>, ...) for trimming/AOT scenarios.")]
public static IDisposable SetupDefaultSuspendResume(this ISuspensionHost item, ISuspensionDriver? driver = null)
Summary: Setup our suspension driver for a class derived off ISuspensionHost interface. This will make your suspension host respond to suspend and resume requests.
Parameters
| Name | Type | Description |
|---|---|---|
item | [ISuspensionHost](# | The suspension host. |
driver = null | [ISuspensionDriver?](# | The suspension driver. |
Returns: IDisposable -- A disposable which will stop responding to Suspend and Resume requests.
Remarks
Registers handlers for ShouldPersistState, ShouldInvalidateState,
and resume notifications, delegating serialization to the provided driver (or a resolved
instance from AppLocator).
Examples
<![CDATA[
RxSuspension.SuspensionHost.CreateNewAppState = () => new ShellState();
RxSuspension.SuspensionHost.SetupDefaultSuspendResume(new FileSuspensionDriver(FileSystem.AppDataDirectory));
]]>
2. Overload¶
public static IDisposable SetupDefaultSuspendResume<TAppState>(this ISuspensionHost<TAppState> item, JsonTypeInfo<TAppState> typeInfo, ISuspensionDriver? driver = null) where TAppState : class
Summary: Sets up suspend/resume using a strongly-typed host and source-generated JSON metadata (trimming/AOT friendly).
Type parameters
| Name | Description |
|---|---|
TAppState | The application state type. |
Parameters
| Name | Type | Description |
|---|---|---|
item | [ISuspensionHost | The typed suspension host. |
typeInfo | JsonTypeInfo | Source-generated metadata for TAppState. |
driver = null | [ISuspensionDriver?](# | The suspension driver. |
Returns: IDisposable -- A disposable which will stop responding to Suspend and Resume requests.
Remarks
This overload persists and restores state using LoadState and SaveState to avoid reflection-based serialization.