public static ShawnBootOptions UseSerilog(this ShawnBootOptions options, Action <SerilogOption> SerilogAction)
        {
            var logger = new ShawnSerilog(SerilogAction);

            options._IocManager.BuilderContainer.RegisterLogger(logger, true, true);

            return(options);
        }
        private ShawnBootstrapper(Action <ShawnBootOptions> optionsAction, IServiceCollection iServiceCollection)
        {
            var options = new ShawnBootOptions(iServiceCollection);

            //初始化Option对象。
            optionsAction?.Invoke(options);

            IocManager = options._IocManager;
        }
        public static ShawnBootOptions UseDapper(this ShawnBootOptions options, [NotNull] Action <DapperOptions> dapperoptions)
        {
            DapperOptions obj = new DapperOptions();

            dapperoptions?.Invoke(obj);

            options._iServiceCollection.AddObjectAccessor <DapperOptions>(obj);

            options._IocManager.BuilderContainer
            .RegisterType <DefaultDapperImp>()
            .InstancePerLifetimeScope()
            .As <IDapperExtension>();

            return(options);
        }