public static IServiceCollection AddLiveStateUpdater <TLocal, TState, TLiveUpdater>( this IServiceCollection services) where TLiveUpdater : class, ILiveStateUpdater <TLocal, TState> where TState : class { var serviceAttributes = ServiceAttributeBase.GetAll(typeof(TLiveUpdater), a => !(a is LiveStateUpdaterAttribute)); return(services.AddService <TLiveUpdater>(serviceAttributes, new ServiceAttribute(typeof(ILiveStateUpdater <TLocal, TState>)))); }
public static IServiceCollection AddLiveStateUpdater( this IServiceCollection services, Type localType, Type stateType, Type updaterType) { var iUpdaterType = typeof(ILiveStateUpdater <,>).MakeGenericType(localType, stateType); var serviceAttributes = ServiceAttributeBase.GetAll(updaterType, a => !(a is LiveStateUpdaterAttribute)); return(services.AddService(updaterType, serviceAttributes, new ServiceAttribute(iUpdaterType))); }