System.Reactive.Interfaces The System.Reactive namespace contains interfaces and classes used throughout the Reactive Extensions library. The System.Reactive.Concurrency namespace contains interfaces and classes that provide the scheduler infrastructure used by Reactive Extensions to construct and process event streams. Schedulers are used to parameterize the concurrency introduced by query operators, provide means to virtualize time, to process historical data, and to write unit tests for functionality built using Reactive Extensions constructs. The System.Reactive.Disposables namespace contains interfaces and classes that provide a compositional set of constructs used to deal with resource and subscription management in Reactive Extensions. Those types are used extensively within the implementation of Reactive Extensions and are useful when writing custom query operators or schedulers. The System.Reactive.Linq namespace contains interfaces and classes that support expressing queries over observable sequences, using Language Integrated Query (LINQ). Query operators are made available as extension methods for IObservable<T> and IQbservable<T> defined on the Observable and Qbservable classes, respectively. The System.Reactive.Subjects namespace contains interfaces and classes to represent subjects, which are objects implementing both IObservable<T> and IObserver<T>. Subjects are often used as sources of events, allowing one party to raise events and allowing another party to write queries over the event stream. Because of their ability to have multiple registered observers, subjects are also used as a facility to provide multicast behavior for event streams in queries. Scheduler with support for running periodic tasks. This type of scheduler can be used to run timers more efficiently instead of using recursive scheduling. Schedules a periodic piece of work. The type of the state passed to the scheduled action. Initial state passed to the action upon the first iteration. Period for running the work periodically. Action to be executed, potentially updating the state. The disposable object used to cancel the scheduled recurring action (best effort). Provider for IStopwatch objects. Starts a new stopwatch object. New stopwatch object; started at the time of the request. Represents a work item that has been scheduled. Absolute time representation type. Invokes the work item. Gets the absolute time at which the item is due for invocation. Represents an object that schedules units of work. Schedules an action to be executed. The type of the state passed to the scheduled action. State passed to the action to be executed. Action to be executed. The disposable object used to cancel the scheduled action (best effort). Schedules an action to be executed after dueTime. The type of the state passed to the scheduled action. State passed to the action to be executed. Action to be executed. Relative time after which to execute the action. The disposable object used to cancel the scheduled action (best effort). Schedules an action to be executed at dueTime. The type of the state passed to the scheduled action. State passed to the action to be executed. Action to be executed. Absolute time at which to execute the action. The disposable object used to cancel the scheduled action (best effort). Gets the scheduler's notion of current time. Scheduler with support for starting long-running tasks. This type of scheduler can be used to run loops more efficiently instead of using recursive scheduling. Schedules a long-running piece of work. The type of the state passed to the scheduled action. State passed to the action to be executed. Action to be executed. The disposable object used to cancel the scheduled action (best effort). Notes to implementers The returned disposable object should not prevent the work from starting, but only set the cancellation flag passed to the specified action. Abstraction for a stopwatch to compute time relative to a starting point. Gets the time elapsed since the stopwatch object was obtained. Disposable resource with dipsosal state tracking. Gets a value that indicates whether the object is disposed. Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event. The type of the sender that raised the event. This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. The type of the event data generated by the event. This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. Gets the sender object that raised the event. Gets the event data that was generated by the event. Represents a data stream signaling its elements by means of an event. The type of the event data generated by the event. Event signaling the next element in the data stream. Represents a data stream signaling its elements by means of an event. The type of the event data generated by the event. This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. Event signaling the next element in the data stream. Provides a mechanism for receiving push-based notifications and returning a response. The type of the elements received by the observer. This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. The type of the result returned from the observer's notification handlers. This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. Notifies the observer of a new element in the sequence. The new element in the sequence. Result returned upon observation of a new element. Notifies the observer that an exception has occurred. The exception that occurred. Result returned upon observation of an error. Notifies the observer of the end of the sequence. Result returned upon observation of the sequence completion. Represents an observable sequence of elements that have a common key. The type of the key shared by all elements in the group. This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. The type of the elements in the group. This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. Gets the common key. Provides functionality to evaluate queries against a specific data source wherein the type of the data is known. The type of the data in the data source. This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. Provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified. Gets the type of the element(s) that are returned when the expression tree associated with this instance of IQbservable is executed. Gets the expression tree that is associated with the instance of IQbservable. Gets the query provider that is associated with this data source. Defines methods to create and execute queries that are described by an IQbservable object. Constructs an IQbservable>TResult< object that can evaluate the query represented by a specified expression tree. The type of the elements of the System.Reactive.Linq.IQbservable<T> that is returned. Expression tree representing the query. IQbservable object that can evaluate the given query expression. Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence. The type of the elements in the sequence. This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. Disposable used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. Represents an object that is both an observable sequence as well as an observer. The type of the elements processed by the subject. Represents an object that is both an observable sequence as well as an observer. The type of the elements received by the subject. This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics. The type of the elements produced by the subject. This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.