/// <summary> /// BehaviorSubject 可以设置初始值,并且每次都会发射并缓存最新值 /// BehaviorSubject.Value 可以获取到初始值或者最新值 /// 适合用于一些状态变化的场景 /// </summary> public static void PreserveLastStateWithBehaviorSubject() { var sbj = new BehaviorSubject <int>(2); Console.WriteLine($"BehaviorSubject.Value:{sbj.Value}"); sbj.SubscribeConsole("first"); sbj.OnNext(3); sbj.SubscribeConsole("second"); sbj.OnCompleted(); Console.WriteLine($"BehaviorSubject.Value:{sbj.Value}"); }
private static void BehaviorSubjectExample() { Demo.DisplayHeader("BehaviorSubject - initialized with a default value and has a memory of the latest value"); //NetworkConnectivity: Connected or Disconnected BehaviorSubject <NetworkConnectivity> connection = new BehaviorSubject <NetworkConnectivity>(NetworkConnectivity.Disconnected); connection.SubscribeConsole("first"); connection.OnNext(NetworkConnectivity.Connected); connection.SubscribeConsole("second"); Console.WriteLine("Connection is {0}", connection.Value); }