public static AppSetupBase RegisterAndGetAppSetup <TAppSetup>(this IIocBuilder builder, Action <IIocBuilder> registerAction = null) where TAppSetup : AppSetupBase { builder.RegisterSetup <TAppSetup>(); registerAction?.Invoke(builder); var ioc = builder.Build(); return(ioc.Resolve <AppSetupBase>()); }