Beispiel #1
0
        public static void Run()
        {
            CodeTimer.Initialize();
            var type = typeof(MessageTest <CmdTest>);
            var ctor = type.GetConstructors()[2];
            ObjectActivator <object> createdActivator = ActivatorHelper.GetActivator <object>(ctor);
            var    input  = new CmdTest();
            var    header = new MessageHeaderTest();
            object tmpObj = null;
            var    count  = 1000000;

            CodeTimer.Time("new instance", count, () =>
            {
                tmpObj = new MessageTest <CmdTest>(input, header);
            });

            CodeTimer.Time("exp tree", count, () =>
            {
                tmpObj = createdActivator(input, header);
            });

            CodeTimer.Time("Activator.CreateInstance", count, () =>
            {
                tmpObj = Activator.CreateInstance(type, input, header);
            });

            CodeTimer.Time("exp tree2", count, () =>
            {
                tmpObj = ActivatorHelper.CreateInstance(type, input, header);
            });
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            IocContainer.Instance.ConfigureServices(services =>
            {
                services.AddSimpleLocalLogger(configureOptions: options =>
                {
                    //options.LogToLocalFile = true;
                });
            });

            SimpleLocalLoggerBase.DateTimeFormat   = time => time.ToLongDateTime();
            SimpleLocalLoggerBase.CustomOutputLog += (sender, eventArgs) =>
            {
                //Console.WriteLine($"自定义输出日志:{eventArgs.Options.LogToConsole}|{eventArgs.Options.LogToLocalFile}");
            };

            _logger = IocContainer.Instance.GetService <ISimpleLogger <Program> >();
            //_logger.LogError("测试");

            //ISimpleDo toDo = new SimpleQueueTest();
            ISimpleDo toDo = new CmdTest();

            toDo.Execute();

            Console.WriteLine("Done.");
            Console.ReadLine();
        }