Class ReactiveQubjectBase<TInput, TOutput>
Base class for the implementation of subjects represented by an expression tree.
Implements
Inherited Members
Namespace: Reaqtor
Assembly: Reaqtor.Expressions.Core.dll
Syntax
public abstract class ReactiveQubjectBase<TInput, TOutput> : ReactiveSubjectBase<TInput, TOutput>, IReactiveQubject<TInput, TOutput>, IReactiveSubject<TInput, TOutput>, IDisposable, IReactiveQbserver<TInput>, IReactiveObserver<TInput>, IObserver<TInput>, IReactiveQbservable<TOutput>, IReactiveObservable<TOutput>, IReactiveQubject, IReactiveQbserver, IReactiveQbservable, IReactiveExpressible, IExpressible
Type Parameters
Name | Description |
---|---|
TInput | Type of the data received by the subject. |
TOutput | Type of the data produced by the subject. |
Constructors
ReactiveQubjectBase(IReactiveQueryProvider)
Creates a new subject represented by an expression tree, using the specified associated query provider.
Declaration
protected ReactiveQubjectBase(IReactiveQueryProvider provider)
Parameters
Type | Name | Description |
---|---|---|
IReactiveQueryProvider | provider | Query provider associated with the subject. |
Properties
Expression
Gets the expression tree representing the subject.
Declaration
public abstract Expression Expression { get; }
Property Value
Type | Description |
---|---|
System.Linq.Expressions.Expression |
InputType
Gets the type of the data received by the subject.
Declaration
protected Type InputType { get; }
Property Value
Type | Description |
---|---|
System.Type |
OutputType
Gets the type of the data produced by the subject.
Declaration
protected Type OutputType { get; }
Property Value
Type | Description |
---|---|
System.Type |
Provider
Gets the query provider that is associated with the subject.
Declaration
public IReactiveQueryProvider Provider { get; }
Property Value
Type | Description |
---|---|
IReactiveQueryProvider |
Methods
Subscribe(IReactiveQbserver<TOutput>, Uri, Object)
Subscribes to the subject using the given observer.
Declaration
public IReactiveQubscription Subscribe(IReactiveQbserver<TOutput> observer, Uri subscriptionUri, object state = null)
Parameters
Type | Name | Description |
---|---|---|
IReactiveQbserver<TOutput> | observer | Observer to send the subject's data to. |
System.Uri | subscriptionUri | URI to identify the subscription. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
Returns
Type | Description |
---|---|
IReactiveQubscription | A subscription object that can be used to cancel the subscription, or an exception if the submission was unsuccessful. |
SubscribeCore(IReactiveObserver<TOutput>, Uri, Object)
Subscribes to the subject using the given observer.
Declaration
protected override IReactiveSubscription SubscribeCore(IReactiveObserver<TOutput> observer, Uri subscriptionUri, object state)
Parameters
Type | Name | Description |
---|---|---|
IReactiveObserver<TOutput> | observer | Observer to send the subject's data to. |
System.Uri | subscriptionUri | URI to identify the subscription. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
Returns
Type | Description |
---|---|
IReactiveSubscription | A subscription object that can be used to cancel the subscription, or an exception if the submission was unsuccessful. |
Overrides
SubscribeCore(IReactiveQbserver<TOutput>, Uri, Object)
Subscribes to the subject using the given observer.
Declaration
protected abstract IReactiveQubscription SubscribeCore(IReactiveQbserver<TOutput> observer, Uri subscriptionUri, object state)
Parameters
Type | Name | Description |
---|---|---|
IReactiveQbserver<TOutput> | observer | Observer to send the subject's data to. |
System.Uri | subscriptionUri | URI to identify the subscription. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
Returns
Type | Description |
---|---|
IReactiveQubscription | A subscription object that can be used to cancel the subscription, or an exception if the submission was unsuccessful. |
Explicit Interface Implementations
IReactiveQbservable.ElementType
Gets the type of the data produced by the subject.
Declaration
Type IReactiveQbservable.ElementType { get; }
Returns
Type | Description |
---|---|
System.Type |
IReactiveQbserver.ElementType
Gets the type of the data received by the subject.
Declaration
Type IReactiveQbserver.ElementType { get; }
Returns
Type | Description |
---|---|
System.Type |