Ejemplo n.º 1
0
    public static IServiceCollection AddSubscriptionBuilder <T, TOptions>(
        this IServiceCollection services,
        SubscriptionBuilder <T, TOptions> builder
        ) where T : EventSubscription <TOptions> where TOptions : SubscriptionOptions
    {
        if (services.Any(x => x is NamedDescriptor named && named.Name == builder.SubscriptionId))
        {
            throw new InvalidOperationException(
                      $"Existing subscription builder with id {builder.SubscriptionId} already registered"
                      );
        }

        var descriptor = new NamedDescriptor(
            builder.SubscriptionId,
            typeof(SubscriptionBuilder <T, TOptions>),
            builder
            );

        services.Add(descriptor);
        services.Configure(builder.SubscriptionId, builder.ConfigureOptions);
        return(services);
    }
Ejemplo n.º 2
0
 public void DefaultsAreEquals()
 {
     var d1 = new NamedDescriptor <string, ITest>();
     var d2 = new NamedDescriptor <string, ITest>(default);