Class ReactiveQubjectFactoryBase<TInput, TOutput, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>
Base class for the implementation of parameterized subject factories represented by an expression tree.
Inheritance
Implements
Namespace: Reaqtor
Assembly: Reaqtor.Expressions.Core.dll
Syntax
public abstract class ReactiveQubjectFactoryBase<TInput, TOutput, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7> : Object, IReactiveQubjectFactory<TInput, TOutput, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>, IReactiveSubjectFactory<TInput, TOutput, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>, IReactiveExpressible, IExpressible
Type Parameters
Name | Description |
---|---|
TInput | Type of the data received by the subjects created by the factory. |
TOutput | Type of the data produced by the subjects created by the factory. |
TArg1 | Type of the first parameter passed to the subject factory. |
TArg2 | Type of the second parameter passed to the subject factory. |
TArg3 | Type of the third parameter passed to the subject factory. |
TArg4 | Type of the fourth parameter passed to the subject factory. |
TArg5 | Type of the fifth parameter passed to the subject factory. |
TArg6 | Type of the sixth parameter passed to the subject factory. |
TArg7 | Type of the seventh parameter passed to the subject factory. |
Constructors
ReactiveQubjectFactoryBase(IReactiveQueryProvider)
Creates a new subject factory represented by an expression tree, using the specified associated query provider.
Declaration
protected ReactiveQubjectFactoryBase(IReactiveQueryProvider provider)
Parameters
Type | Name | Description |
---|---|---|
IReactiveQueryProvider | provider | Query provider associated with the subject factory. |
Properties
Expression
Gets the expression tree representing the subject factory.
Declaration
public abstract Expression Expression { get; }
Property Value
Type | Description |
---|---|
System.Linq.Expressions.Expression |
Provider
Gets the query provider that is associated with the subject factory.
Declaration
public IReactiveQueryProvider Provider { get; }
Property Value
Type | Description |
---|---|
IReactiveQueryProvider |
Methods
Create(Uri, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, Object)
Creates a new stream with the specified stream URI.
Declaration
public IReactiveQubject<TInput, TOutput> Create(Uri streamUri, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, object state = null)
Parameters
Type | Name | Description |
---|---|---|
System.Uri | streamUri | URI identifying the stream. |
TArg1 | arg1 | First parameter to pass to the subject factory. |
TArg2 | arg2 | Second parameter to pass to the subject factory. |
TArg3 | arg3 | Third parameter to pass to the subject factory. |
TArg4 | arg4 | Fourth parameter to pass to the subject factory. |
TArg5 | arg5 | Fifth parameter to pass to the subject factory. |
TArg6 | arg6 | Sixth parameter to pass to the subject factory. |
TArg7 | arg7 | Seventh parameter to pass to the subject factory. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
Returns
Type | Description |
---|---|
IReactiveQubject<TInput, TOutput> | A subject object that can be used to send and receive data on the stream, or an exception if the creation request was unsuccessful. |
CreateCore(Uri, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, Object)
Creates a new stream with the specified stream URI.
Declaration
protected abstract IReactiveQubject<TInput, TOutput> CreateCore(Uri streamUri, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, object state)
Parameters
Type | Name | Description |
---|---|---|
System.Uri | streamUri | URI identifying the stream. |
TArg1 | arg1 | First parameter to pass to the subject factory. |
TArg2 | arg2 | Second parameter to pass to the subject factory. |
TArg3 | arg3 | Third parameter to pass to the subject factory. |
TArg4 | arg4 | Fourth parameter to pass to the subject factory. |
TArg5 | arg5 | Fifth parameter to pass to the subject factory. |
TArg6 | arg6 | Sixth parameter to pass to the subject factory. |
TArg7 | arg7 | Seventh parameter to pass to the subject factory. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
Returns
Type | Description |
---|---|
IReactiveQubject<TInput, TOutput> | A subject object that can be used to send and receive data on the stream, or an exception if the creation request was unsuccessful. |
Explicit Interface Implementations
IReactiveSubjectFactory<TInput, TOutput, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>.Create(Uri, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, Object)
Creates a new subject with the specified stream URI.
Declaration
IReactiveSubject<TInput, TOutput> IReactiveSubjectFactory<TInput, TOutput, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>.Create(Uri streamUri, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, object state)
Parameters
Type | Name | Description |
---|---|---|
System.Uri | streamUri | URI identifying the stream. |
TArg1 | arg1 | First parameter to pass to the subject factory. |
TArg2 | arg2 | Second parameter to pass to the subject factory. |
TArg3 | arg3 | Third parameter to pass to the subject factory. |
TArg4 | arg4 | Fourth parameter to pass to the subject factory. |
TArg5 | arg5 | Fifth parameter to pass to the subject factory. |
TArg6 | arg6 | Sixth parameter to pass to the subject factory. |
TArg7 | arg7 | Seventh parameter to pass to the subject factory. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
Returns
Type | Description |
---|---|
IReactiveSubject<TInput, TOutput> | A subject object that can be used to send and receive data on the stream, or an exception if the creation request was unsuccessful. |