С BehaviorSubject<T>
Вы гарантированы *, что имеющееся значение First
всегда доступно.
Однако IObservable<T>
операторы запросов не могут работать в соответствии с этим предположением в целом, так что атрибут Obsolete
был добавлен загонять людей в сторону асинхронных методов, как FirstAsync
- помочь им «упасть в яму успеха».
Из-за специального случая BehaviorSubject<T>
, всегда имеющего установленное значение, он имеет резьбовое покрытие Value
. Таким образом, если предположить, что у вас есть что-то вроде этого:
var subject = new BehaviorSubject<string>("Some value");
Тогда вы можете сделать это:
var current = subject.Value;
* Попытка Асесс ценность BehaviorSubject<T>
экземпляра после его метода Dispose
был вызван, будь то по свойству Value
или оператору запроса, например FirstAsync
, приведет к выбросу ObjectDisposedException
.
Не могли бы вы поделиться текстом предупреждения? –