当前位置: 首页 > wzjs >正文

做抛物线的网站猎聘网招聘

做抛物线的网站,猎聘网招聘,长沙专业做网站公司哪家好,php做的网站首页是什么文件夹核心概念 IObservable<T> 表示 可观察的数据源&#xff08;如事件流、实时数据&#xff09;。 关键方法&#xff1a;Subscribe(IObserver<T> observer)&#xff0c;用于注册观察者。 IObserver<T> 表示 数据的接收者&#xff0c;响应数据变化。 三个核心…

 核心概念

  1. IObservable<T>

    1. 表示 可观察的数据源(如事件流、实时数据)。

    2. 关键方法:Subscribe(IObserver<T> observer),用于注册观察者。

  2. IObserver<T>

    1. 表示 数据的接收者,响应数据变化。

    2. 三个核心方法:

      1. OnNext(T value):接收新数据。

      2. OnError(Exception error):处理错误。

      3. OnCompleted():响应数据流结束。

观察者实现:

  public class 观察者 : IObserver<float>{public void OnNext(float price){Console.WriteLine($"最新股价: {price}$");}public void OnError(Exception ex){Console.WriteLine($"错误: {ex.Message}");}public void OnCompleted(){Console.WriteLine("股票数据流结束");}}

被观察者实现:

 public class 被观察者 : IObservable<float>{private List<IObserver<float>> _observers = new List<IObserver<float>>();public IDisposable Subscribe(IObserver<float> observer){_observers.Add(observer);return new Unsubscriber(_observers, observer);}//这段代码定义了一个 Unsubscriber 内部类,用于管理观察者(IObserver<T>)的订阅和取消订阅逻辑。//它的核心作用是 安全地从观察者列表中移除某个观察者,避免内存泄漏或无效通知。private class Unsubscriber : IDisposable{private List<IObserver<float>> _observers;private IObserver<float> _observer;public Unsubscriber(List<IObserver<float>> observers, IObserver<float> observer){_observers = observers;_observer = observer;}public void Dispose(){if (_observer != null && _observers.Contains(_observer))_observers.Remove(_observer);}}// 模拟股价变动public void UpdatePrice(float price){foreach (var observer in _observers){observer.OnNext(price);}}public void MarketClosed(){foreach (var observer in _observers){observer.OnCompleted();}}}

WInform调用案例:

    public partial class Form1 : Form{public Form1(){InitializeComponent();}观察者 A = new 观察者();被观察者 B = new 被观察者();IDisposable A回执;private void btn_观察_Click(object sender, EventArgs e){A回执 = B.Subscribe(A);}private void btn_取消观察_Click(object sender, EventArgs e){A回执.Dispose();}private void btn_价格一_Click(object sender, EventArgs e){B.UpdatePrice(1);}private void btn_价格二_Click(object sender, EventArgs e){B.UpdatePrice(2);}private void btn_股市关闭_Click(object sender, EventArgs e){B.MarketClosed();}}

http://www.dtcms.com/wzjs/582640.html

相关文章:

  • 简单网站系统南京网络建站公司
  • 手机网站相册代码什么是电商创业
  • 泰州网站建设方案开发微网站 地图
  • 手机网站建设的教程视频杭州市滨江区建设局网站
  • 淘宝刷单网站制作厦门建设企业网站建设
  • 北京建设工程协会网站在线商标免费设计
  • 网站建设注意哪些事项vps建设网站需要条件
  • 新绛网站建设网站怎么做rss
  • 网站怎么做访问量统计中山企业网站建设
  • 优秀设计网站一键建站网站
  • 哪里有免费的网站源码wordpress 注册邮箱验证失败
  • 微网站开发工具有哪些提供手机自适应网站制作
  • 做网站培训做企业网站需要准备什么材料
  • 湖南住房与城乡建设厅网站创业投资公司网站建设
  • 如何做推广网站做互助盘网站
  • 企业网站icp是什么WordPress十万数据可以
  • 个人网站 前置审批谷歌浏览器官网下载安装
  • 湖南城市建设技术学院官方网站ssh框架做的网站问题
  • 枣庄建网站的公司网站 架构设计
  • 东莞php网站建设wordpress导入表单
  • 2023传奇手游排行榜网站建设优化文档
  • 做网站把自己做死学校网站建设开发方案书
  • 网站开发架构文档网站备案 自己的服务器
  • 怎么查网站的icp备案wordpress构建android
  • 人才网站建设cms淮北论坛最新招聘信息网
  • 建设部网站证件查询个人开店的电商平台
  • c 网站开发入门视频wordpress 过滤词
  • 国际酒店网站建设不好招聘网站开发视频
  • 网站域名每年费用wordpress 固定链接 id
  • 5 网站建设进度表传统企业网站建设制作