public static IFluentAspectsServiceContainerBuilder AddFluentAspects(this IServiceContainerBuilder serviceCollection) { if (null == serviceCollection) { throw new ArgumentNullException(nameof(serviceCollection)); } serviceCollection.AddTransient <IProxyTypeFactory, DefaultProxyTypeFactory>(); serviceCollection.AddTransient <IProxyFactory, DefaultProxyFactory>(); serviceCollection.AddSingleton(FluentConfigInterceptorResolver.Instance); return(new FluentAspectsServiceContainerBuilder(serviceCollection)); }