Designing a custom operator
In the Rx framework, there are multiple extension methods that help us transform a sequence into another one, subscribe to a sequence, or create a new sequence from other objects or from scratch.
In classic .NET development, all these methods are simply functions, because they almost always provide a result. In Reactive Programming, any function that returns an observable sequence is an operator. There are transforming operators, creational operators, diagnostic operators, and so on.
Usually, we use operators from the Observable
helper class or by using other helper classes from the official Rx library set available throughout the NuGet package explorer. When we cannot find the right operator, or when we want to improve an operator already available, maybe, by adding new overloads or changing its implementation, we can create a new operator by creating an extension method that supports the generic pattern. With this design, we will be able to reuse our operators...