public void Run()
        {
            var arr    = new[] { 1, 2, 3, 4, 5 };
            var mapper = new MapperBuilder().Build();

            var begin = DateTime.Now;

            for (var i = 0; i < this.Times; i++)
            {
                GenerateCopyExpression()(arr);
            }
            Console.WriteLine($"expression: {DateTime.Now - begin}");

            begin = DateTime.Now;
            for (var i = 0; i < this.Times; i++)
            {
                mapper.From(arr).To <int[]>();
            }
            Console.WriteLine($"reflection mapper: {DateTime.Now - begin}");
        }
예제 #2
0
        static void Main(string[] args)
        {
            var builder = new MapperBuilder();

            var services = new ServiceCollection();

            services.AddMapping();

            //var mapper = services.BuildServiceProvider().GetService<IMapper>();
            var mapper = new MapperBuilder().Build();

            var from = new From {
                Name   = "kevin",
                Age    = 123,
                Parent = new From {
                    Parent = new From {
                        Name = "parent"
                    }
                }
                //Child = new From { Name = "bao" },
                //Age = 123,
                //Height = 180,
                //Fields1 = new int?[] { 1, 2, 3, null }
            };

            //var to = mapper
            //    .From(from, options => {
            //        //options.Ignore(x => x.Parent.Parent.Name);
            //        //options.Map(x => x.Name, "Child.Child.Name", "Child2.Name");
            //    })
            //    .To<To>(options => {
            //        options.Map(x => x.Name, x => x.Child.Child.Name, x => x.Child2.Name);
            //    });

            var to2 = mapper.From(TimeSpan.FromSeconds(10)).To <TimeSpan>();
        }