Skip to content

,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)

View source

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

NameTypeDescription
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

View source

Summary: Sets up suspend/resume using a strongly-typed host and source-generated JSON metadata (trimming/AOT friendly).

Type parameters

NameDescription
TAppStateThe application state type.

Parameters

NameTypeDescription
item[ISuspensionHost](#The typed suspension host.
typeInfoJsonTypeInfoSource-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.