Class AsyncReactiveQubjectFactoryBase<TInput, TOutput, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>
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 AsyncReactiveQubjectFactoryBase<TInput, TOutput, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9> : Object, IAsyncReactiveQubjectFactory<TInput, TOutput, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>, IAsyncReactiveSubjectFactory<TInput, TOutput, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>, IAsyncReactiveExpressible, 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. |
TArg8 | Type of the eighth parameter passed to the subject factory. |
TArg9 | Type of the ninth parameter passed to the subject factory. |
Constructors
AsyncReactiveQubjectFactoryBase(IAsyncReactiveQueryProvider)
Creates a new subject factory represented by an expression tree, using the specified associated query provider.
Declaration
protected AsyncReactiveQubjectFactoryBase(IAsyncReactiveQueryProvider provider)
Parameters
Type | Name | Description |
---|---|---|
IAsyncReactiveQueryProvider | 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 IAsyncReactiveQueryProvider Provider { get; }
Property Value
Type | Description |
---|---|
IAsyncReactiveQueryProvider |
Methods
CreateAsync(Uri, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, Object, CancellationToken)
Creates a new subject with the specified stream URI.
Declaration
public Task<IAsyncReactiveQubject<TInput, TOutput>> CreateAsync(Uri streamUri, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, object state = null, CancellationToken token = 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. |
TArg8 | arg8 | Eighth parameter to pass to the subject factory. |
TArg9 | arg9 | Ninth parameter to pass to the subject factory. |
System.Object | state | Additional state to pass to the operation. Implementations can interpret this value, or ignore it. |
System.Threading.CancellationToken | token | Token to observe for cancellation of the request. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<IAsyncReactiveQubject<TInput, TOutput>> | Task returning a subject object that can be used to send and receive data on the stream, or an exception if the creation request was unsuccessful. |
CreateAsyncCore(Uri, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, Object, CancellationToken)
Creates a new subject with the specified stream URI.
Declaration
protected abstract Task<IAsyncReactiveQubject<TInput, TOutput>> CreateAsyncCore(Uri streamUri, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, object state, CancellationToken token)
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. |
TArg8 | arg8 | Eighth parameter to pass to the subject factory. |
TArg9 | arg9 | Ninth parameter to pass to the subject factory. |
System.Object | state | Additional state to pass to the operation. Implementations can interpret this value, or ignore it. |
System.Threading.CancellationToken | token | Token to observe for cancellation of the request. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<IAsyncReactiveQubject<TInput, TOutput>> | Task returning 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
IAsyncReactiveSubjectFactory<TInput, TOutput, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>.CreateAsync(Uri, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, Object, CancellationToken)
Creates a new subject with the specified stream URI.
Declaration
Task<IAsyncReactiveSubject<TInput, TOutput>> IAsyncReactiveSubjectFactory<TInput, TOutput, TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>.CreateAsync(Uri streamUri, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, object state, CancellationToken token)
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. |
TArg8 | arg8 | Eighth parameter to pass to the subject factory. |
TArg9 | arg9 | Ninth parameter to pass to the subject factory. |
System.Object | state | Additional state to pass to the operation. Implementations can interpret this value, or ignore it. |
System.Threading.CancellationToken | token | Token to observe for cancellation of the request. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<IAsyncReactiveSubject<TInput, TOutput>> | Task returning a subject object that can be used to send and receive data on the stream, or an exception if the creation request was unsuccessful. |