[英]Create Observable for Streaming Class in Net Core
如何為 class 創建 Observable? 例如這里是 class 用於連續銷售
public class Product
{
public int ProductId {get;set;}
public string ProductDescription {get;set;}
public float Sales{get;set;}
}
如何創建 Observable? 假設他們使用 Add() 進入List<Product>
,產品會不斷添加代表交易。
任何時候,一個產品被添加到控制台程序的任何地方,訂閱者都會觀察到它。
var productSample1 = new Product { ProductId = 1, ProductDescription = "Furniture" };
var productSample2 = new Product { ProductId = 2, ProductDescription = "Book" };
var productSample3 = new Product { ProductId = 3, ProductDescription = "car" };
var productlist = new List<Product>();
productlist.Add(productSample1);
....
productlist.Add(productSample2);
...
productlist.Add(productSample3);
也許是這樣的,
var products = Observable.FromEventPattern < EventHandler<Product>, Product>();
嘗試閱讀下面的資源,嘗試添加,
您可以使用ObservableCollection :
var list = new ObservableCollection<int>();
using (var o = Observable
.FromEventPattern<NotifyCollectionChangedEventHandler, NotifyCollectionChangedEventArgs>(h => list.CollectionChanged += h, h => list.CollectionChanged -= h)
.Subscribe(e => Console.WriteLine($"{e.EventArgs.Action} {e.EventArgs.NewItems[0]}")))
{
list.Add(1);
list.Add(10);
}
// Add 1
// Add 10
或者將其翻轉並從訂閱中添加:
var list = new List<int>();
var subject = new Subject<int>();
using (var o = subject.Subscribe(i => list.Add(i)))
{
subject.OnNext(1);
subject.OnNext(10);
}
foreach (var i in list)
{
Console.WriteLine(i);
}
// 1
// 10
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.