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); }
public void DefaultsAreEquals() { var d1 = new NamedDescriptor <string, ITest>(); var d2 = new NamedDescriptor <string, ITest>(default);