Skip to content

DisposableAsyncSlot.AssignAsync(IAsyncDisposable?, IAsyncDisposable?) method

Defined in

Type: DisposableAsyncSlot Namespace: ReactiveUI.Extensions.Async.Disposables Assembly: ReactiveUI.Extensions.dll

Applies to

net10.0, net10.0-browserwasm1.0, net10.0-desktop1.0, net9.0, net9.0-browserwasm1.0, net9.0-desktop1.0, net8.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.2, net8.0-macos14.5, net8.0-tvos17.2, netstandard2.1, net462, net481

Attributes: [DebuggerStepThrough]

public static ValueTask AssignAsync(ref IAsyncDisposable? slot, IAsyncDisposable? value)

View source

Summary: Atomically assigns value to the slot exactly once. If the slot has already been disposed, value is disposed immediately. If the slot already holds a non-null, non-disposed value, throws InvalidOperationException. Equivalent to SetDisposableAsync.

Parameters

NameTypeDescription
ref slotIAsyncDisposable?Reference to the caller-owned IAsyncDisposable field.
valueIAsyncDisposable?The value to assign, or null.

Returns: ValueTask -- A ValueTask that completes once value has been disposed (if the slot was already disposed); otherwise a completed task.