F#:Add 方法和 IObserver<> 的关系是什么
F#: What is the relationship of an Add method and an IObserver<>
我从 Mark Seeman 的 Pluralsight 视频中导出了以下代码工作代码。我不明白最后一行是如何工作的。
let sharpObjectCollection = ConcurrentBag<Envelope<SharpObject>>()
let sharpObjectSubject = new Subjects.Subject<Envelope<SharpObject>>()
sharpObjectSubject.Subscribe sharpObjectCollection.Add |> ignore
正在浏览documentation for Subscribe, I see that it takes an IObserver as an argument, but I am passing it the ConcurrentBag.Add method。
这是怎么回事?这是 F# 的特性吗?我也可以在 C# 中执行此操作吗?
看起来它正在调用 this extension method,它定义了 Subscribe
的重载,它采用 Action<T>
onNext 处理程序。您也可以在 C# 中执行此操作:
var bag = new ConcurrentBag<Envelope<SharpObject>>();
var subject = new Subject<Envelope<SharpObject>>();
subject.Subscribe(bag.Add);
我从 Mark Seeman 的 Pluralsight 视频中导出了以下代码工作代码。我不明白最后一行是如何工作的。
let sharpObjectCollection = ConcurrentBag<Envelope<SharpObject>>()
let sharpObjectSubject = new Subjects.Subject<Envelope<SharpObject>>()
sharpObjectSubject.Subscribe sharpObjectCollection.Add |> ignore
正在浏览documentation for Subscribe, I see that it takes an IObserver as an argument, but I am passing it the ConcurrentBag.Add method。
这是怎么回事?这是 F# 的特性吗?我也可以在 C# 中执行此操作吗?
看起来它正在调用 this extension method,它定义了 Subscribe
的重载,它采用 Action<T>
onNext 处理程序。您也可以在 C# 中执行此操作:
var bag = new ConcurrentBag<Envelope<SharpObject>>();
var subject = new Subject<Envelope<SharpObject>>();
subject.Subscribe(bag.Add);