<PackageReference Include="System.Reactive" Version="6.0.0" />

System.Reactive.Subjects.BehaviorSubject<T>

public sealed class BehaviorSubject<T> : SubjectBase<T>
Represents a value that changes over time. Observers can subscribe to the subject to receive the last (or initial) value and all subsequent notifications.
namespace System.Reactive.Subjects { public sealed class BehaviorSubject<[System.Runtime.CompilerServices.Nullable(2)] T> : SubjectBase<T> { public T Value { get; } public BehaviorSubject(T value); public bool TryGetValue(out T value); } }