C# 为NetCore中的流式类创建可观察的

C# 为NetCore中的流式类创建可观察的,c#,.net,asp.net-core,.net-core,system.reactive,C#,.net,Asp.net Core,.net Core,System.reactive,如何为类创建一个可观察的对象? 这是连续销售的课程 public class Product { public int ProductId {get;set;} public string ProductDescription {get;set;} public float Sales{get;set;} } 如何创建可观察的?假设他们使用Add()进入列表,则不断添加表示事务的产品 任何时候,在控制台程序中的任何位置添加产品,用户都会观察到它 var produ

如何为类创建一个可观察的对象? 这是连续销售的课程

public class Product
{
     public int ProductId {get;set;}
     public string ProductDescription {get;set;}
     public float Sales{get;set;}
}
如何创建可观察的?假设他们使用Add()进入
列表
,则不断添加表示事务的产品

任何时候,在控制台程序中的任何位置添加产品,用户都会观察到它

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 productSample1=新产品{ProductId=1,ProductDescription=“Furniture”};
var productSample2=新产品{ProductId=2,ProductDescription=“Book”};
var productSample3=新产品{ProductId=3,ProductDescription=“car”};
var productlist=新列表();
productlist.Add(productSample1);
....
productlist.Add(productSample2);
...
productlist.Add(productSample3);
也许是这样的

var products = Observable.FromEventPattern < EventHandler<Product>, Product>();
var-products=Observable.FromEventPattern();
尝试阅读下面的参考资料,尝试添加内容

您可以使用:

var list=newobserveCollection();
使用(var o=可观察
.FromEventPattern(h=>list.CollectionChanged+=h,h=>list.CollectionChanged-=h)
.Subscribe(e=>Console.WriteLine($“{e.EventArgs.Action}{e.EventArgs.NewItems[0]}”))
{
增加第(1)款;
增加(10);
}
//加1
//加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
var list=newlist();
var subject=新的subject();
使用(var o=subject.Subscribe(i=>list.Add(i)))
{
主题.OnNext(1);
主题.OnNext(10);
}
foreach(列表中的变量i)
{
控制台写入线(i);
}
// 1
// 10

发电机的寿命是多长(产品是如何进入的)?回答起来并不那么容易。这可能是一个冷/热的可观察的,可观察的。FromEventPattern/observable.Create/…hi@ntohl说一分钟20个产品,它可能是一个热的可观察的。你们这一代人是什么样子的?代码在哪里,新产品将在哪里?或者这就是您希望委托给Observable的内容?谢谢,每当我运行语句list.Add(productSample3)或list.Add(productSample4)或list.Add(productSample5)时,在另一个完全独立的语句中,它会自动读入Observable?还有,这里的另一个问题,@earlwatkins85,您的意思是什么“自动读入Observable”?我在问题中还描述了更多内容;为什么我们放弃了Product并替换为int,试图为自定义类指定问题的答案,感谢项目类型不重要。这个答案对任何项目类型都有效,并且在注释中有相应的控制台输出。
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