/// <summary> /// Defines a parameterized subscription factory identified by the specified URI. /// </summary> /// <typeparam name="TArgs">Type of the parameter passed to the subscription factory.</typeparam> /// <param name="uri">URI identifying the subscription factory.</param> /// <param name="subscriptionFactory">Subscription factory to be defined.</param> /// <param name="state">Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it.</param> public void DefineSubscriptionFactory <TArgs>(Uri uri, IReactiveQubscriptionFactory <TArgs> subscriptionFactory, object state = null) { if (uri == null) { throw new ArgumentNullException(nameof(uri)); } if (subscriptionFactory == null) { throw new ArgumentNullException(nameof(subscriptionFactory)); } DefineSubscriptionFactoryCore <TArgs>(uri, subscriptionFactory, state); }
/// <summary> /// Defines a parameterized subscription factory identified by the specified URI. /// </summary> /// <typeparam name="TArgs">Type of the parameter passed to the subscription factory.</typeparam> /// <param name="uri">URI identifying the subscription factory.</param> /// <param name="subscriptionFactory">Subscription factory to be defined.</param> /// <param name="state">Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it.</param> protected abstract void DefineSubscriptionFactoryCore <TArgs>(Uri uri, IReactiveQubscriptionFactory <TArgs> subscriptionFactory, object state = null);
internal IReactiveQubscription CreateSubscription(IReactiveQubscriptionFactory factory, Uri subscriptionUri, object state) { return(CreateSubscription(factory, Array.Empty <Expression>(), subscriptionUri, state)); }
internal IReactiveQubscription CreateSubscription <TArgs>(IReactiveQubscriptionFactory <TArgs> factory, TArgs argument, Uri subscriptionUri, object state) { return(CreateSubscription(factory, new Expression[] { Expression.Constant(argument, typeof(TArgs)) }, subscriptionUri, state)); }
public void DefineSubscriptionFactory <TArgs>(Uri uri, IReactiveQubscriptionFactory <TArgs> subscriptionFactory, object state) { throw new NotImplementedException(); }
/// <summary> /// Defines a parameterized subscription factory identified by the specified URI. /// </summary> /// <typeparam name="TArgs">Type of the parameter passed to the subscription factory.</typeparam> /// <param name="uri">URI identifying the subscription factory.</param> /// <param name="subscriptionFactory">Subscription factory to be defined.</param> /// <param name="state">Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it.</param> protected override void DefineSubscriptionFactoryCore <TArgs>(Uri uri, IReactiveQubscriptionFactory <TArgs> subscriptionFactory, object state = null) { var expression = _expressionServices.Normalize(subscriptionFactory.Expression); _provider.DefineSubscriptionFactory(uri, expression, state); }
/// <summary> /// Defines a parameterized subscription factory identified by the specified URI. /// </summary> /// <typeparam name="TArgs">Type of the parameter passed to the subscription factory.</typeparam> /// <param name="uri">URI identifying the subscription factory.</param> /// <param name="subscriptionFactory">Subscription factory to be defined.</param> /// <param name="state">Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it.</param> public void DefineSubscriptionFactory <TArgs>(Uri uri, IReactiveQubscriptionFactory <TArgs> subscriptionFactory, object state = null) => Definition.DefineSubscriptionFactory(uri, subscriptionFactory, state);