DisposableBag class¶
Attributes: [DebuggerDisplay("{DebuggerDisplay,nq}")]
Defined in
Namespace: ReactiveUI.Primitives.Disposables
Assembly: ReactiveUI.Disposables.dll
Full name: ReactiveUI.Primitives.Disposables.DisposableBag
Modifiers: public sealed
Summary¶
A small composite-disposable replacement specialised for the common 2-slot
"subscription + sink" pair found throughout this codebase. Avoids the
List backing field of
System.Reactive.Disposables.CompositeDisposable.
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
Class hierarchy
classDiagram
class DisposableBag
class IsDisposed {
<>
}
IsDisposed <|.. DisposableBag
class IDisposable {
<>
}
IDisposable <|.. DisposableBag
Implements: IsDisposed, IDisposable
Remarks¶
The first two added entries are stored inline. A third or later entry causes a fall-back
to a heap-allocated array. Disposal is idempotent and disposes every contained entry,
in registration order, exactly once.
Constructors¶
| Name | Summary |
|---|---|
| .ctor | Initializes a new instance of the [DisposableBag](# class. |
Properties¶
| Name | Summary |
|---|---|
| IsDisposed | Gets a value indicating whether this instance has been disposed. |
Methods¶
| Name | Summary |
|---|---|
| Add | Adds a disposable to the bag. If the bag is already disposed, the supplied disposable is disposed immediately. |
| Dispose |