Skip to content

SettingsStorage.GetOrCreateObservable(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("GetOrCreateObservable requires types to be preserved for serialization.")] [RequiresDynamicCode("GetOrCreateObservable requires types to be preserved for serialization.")]

protected IObservable<T> GetOrCreateObservable<T>(T defaultValue, string? key = null)

View source

Summary: Returns the live observable stream for a settings property, creating it on first access. The returned observable emits the current value on subscribe (starting with defaultValue until the cold load completes, then the persisted value) and re-emits whenever SetObservable is called for the same key.

Type parameters

NameDescription
TThe property value type.

Parameters

NameTypeDescription
defaultValueTThe value emitted before any persisted value has been loaded from disk.
key = nullstring?The property name — usually filled in automatically via CallerMemberNameAttribute.

Returns: IObservable -- A live observable that emits the current value and any subsequent updates.