Skip to content

SettingsStorage.SetObservable(T, string?) method

Defined in

Type: SettingsStorage Namespace: Akavache.Settings.Core Assembly: Akavache.Settings.dll

Applies to

net10.0, net10.0-tvos26.0, net10.0-maccatalyst26.0, net10.0-browserwasm1.0, net10.0-desktop1.0, net10.0-android36.0, net10.0-ios26.0, net10.0-windows10.0.19041, net10.0-macos26.0, net9.0, net9.0-windows10.0.19041, net9.0-browserwasm1.0, net9.0-desktop1.0, net8.0, net8.0-windows10.0.19041, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.2, net8.0-macos14.5, net8.0-tvos17.2, netstandard2.1, net481, net462

Attributes: [RequiresUnreferencedCode("SetObservable requires types to be preserved for serialization.")] [RequiresDynamicCode("SetObservable requires types to be preserved for serialization.")]

protected IObservable<Unit> SetObservable<T>(T value, string? key = null)

View source

Summary: Updates the live stream for a settings property and enqueues a persistent write. Also raises PropertyChanged for non-Rx consumers. If the stream doesn't exist yet (setter called before any getter), it's created on the fly using value as the seeded default.

Type parameters

NameDescription
TThe property value type.

Parameters

NameTypeDescription
valueTThe new value to publish and persist.
key = nullstring?The property name. Unlike the getter, the setter cannot rely on CallerMemberNameAttribute because the caller is SetFoo(value), not Foo — pass the matching getter's name explicitly with nameof(Foo).

Returns: IObservable -- An observable that fires Unit when the persistent write completes.