State
One important variation of Observable<T> is State<T>, which is a mutable observable, meaning you can also set the value:
interface State<T> : Observable<T>
{
T Value { get; set; }
}
Like most of observables, State<T> can be created by a static function in the Observable helper class:
static class Observable
{
static State<T> State<T>(T initialValue);
}
Example
var o = Observable.State(42);
Console.WriteLine(o.Value); // 42
o.Value = 24;
Console.WriteLine(o.Value); // 24