private void AddButton_Click(object sender, EventArgs e) { TableLayoutPanelCellPosition pos = copyListTable.GetPositionFromControl((Control)sender); Control btn = (Control)sender; Control tableTemp = copyListTable.GetControlFromPosition(1, Convert.ToInt32(btn.Name.Remove(0, 9)) - 1); TableLayoutPanel table = (TableLayoutPanel)tableTemp; AutoCopy openCopy = new AutoCopy(); AutoCopyService service = new AutoCopyService(Model.Copies); openCopy = service.CopySearch(table.GetControlFromPosition(1, 4).Text); try { if (openCopy.Enable) { openCopy.Enable = false; ClientList clientcard = new ClientList(startMenu, true, openCopy); clientcard.Show(); } else { MessageBox.Show("Автомобиля нет в наличии.", "", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (NullReferenceException) { MessageBox.Show("Вы пытаетесь добавить несуществующий автомобиль", "", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
static void Main(string[] args) { var autoCopy = AutoCopy.CreateMap <Customer, CustomerInfo>(); autoCopy .ForMember(p => p.zipCode, opt => opt.MapFrom(p => p.Address.ZipCode)) .ForMember(p => p.PhoneNumber, opt => opt.MapFrom(p => p.Phone.Number)); autoCopy.Register(); AutoMapper.Mapper.Initialize(cfg => cfg.CreateMap <Customer, CustomerInfo>() .ForMember(p => p.zipCode, opt => opt.MapFrom(p => p.Address.ZipCode)) .ForMember(p => p.PhoneNumber, opt => opt.MapFrom(p => p.Phone.Number)) ); #if !DEBUG int loop = 100000; #else int loop = 10; #endif Clock.BenchmarkTime("hand map", () => { Customer customer = new Customer(); CustomerInfo customerInfo = new CustomerInfo(); customer.Address = new Address { ZipCode = "1234567890" }; customer.Phone = new Telephone { Number = "17791704580" }; customer.Memo = "customer"; ShallowCopy(customerInfo, customer); }, loop); Clock.BenchmarkTime("AutoCopy", () => { Customer customer = new Customer(); CustomerInfo customerInfo = new CustomerInfo(); customer.Address = new Address { ZipCode = "1234567890" }; customer.Phone = new Telephone { Number = "17791704580" }; customer.Memo = "customer"; autoCopy.ShallowCopy(customer, customerInfo); }, loop); Clock.BenchmarkTime("AutoMapper", () => { Customer customer = new Customer(); customer.Address = new Address { ZipCode = "1234567890" }; customer.Phone = new Telephone { Number = "17791704580" }; customer.Memo = "customer"; var customerInfo = AutoMapper.Mapper.Map <CustomerInfo>(customer); }, loop); }
public void Run() { Console.WriteLine("当前参数:"); Console.WriteLine(Settings); Replacer replacer = new Replacer(); replacer.DoReplace(); AutoCopy autoCopy = new AutoCopy(); autoCopy.DoCopy(); Console.ReadLine(); }
public AutoCopyService(AutoCopy copy) { Year = copy.Year; Color = copy.Color; Mileage = copy.Mileage; Number = copy.Number; Photo = copy.Photo; Mark = copy.Mark; Model = copy.Model; Country = copy.Country; Category = copy.Category; Transmission = copy.Transmission; Fuel = copy.Fuel; FuelPerHour = copy.FuelPerHour; SumLease = copy.SumLease; CarCount = copy.CarCount; Description = copy.Description; AutoPhoto = copy.AutoPhoto; CarNumber = copy.CarNumber; ID = copy.ID; Copies = copy.Copies; }
public void CopyRegistration(AutoCopy autoCopy) { Copies.Add(autoCopy); }
static void Main(string[] args) { //初始化NameValueCollection string surl = "id=10010&width=10&height=10&ua=ua&ip=127.0.0.1&imei=00000000000000&android_id=A00000000000000&make=1111111111&model=XXX&os=android&osv=4.0.1&connectionType=1&deviceType=1&mac=0.0.0.0.0.0.0&screenWidth=100&screenHeight=100&appName=test&ppi=600&dpidsha1=dpidsha1&plmn=1&orientation=1&pos=1&instl=true&ver=1.0.0&bundle=bundle"; HttpQueryCollection collection = new HttpQueryCollection(surl, false); //初始化AutoCopy var ac = AutoCopy.CreateMap <Ext, NameValueCollection>(); ac.Provider = new HttpRequestParamsExpressionProvider(typeof(NameValueCollection)); var autoCopy = AutoCopy.CreateMap <Data, NameValueCollection>(); autoCopy.ForMember(p => p.ext, opt => opt.MapFrom(p => ac.Map(p))); autoCopy.Provider = new HttpRequestParamsExpressionProvider(typeof(NameValueCollection)); autoCopy.Register(); //测试开始 Stopwatch sw = new Stopwatch(); #if !DEBUG int loop = 1000000; #else int loop = 10; #endif sw.Start(); for (int i = 0; i < loop; i++) { Data data; TryParse(collection, out data); } sw.Stop(); Console.WriteLine("手写解析方法循环" + loop + "次耗时" + sw.ElapsedMilliseconds + "毫秒"); sw.Restart(); for (int i = 0; i < loop; i++) { Data data; data = autoCopy.Map(collection); } sw.Stop(); Console.WriteLine("自动解析方法循环" + loop + "次耗时" + sw.ElapsedMilliseconds + "毫秒 fastmode:" + autoCopy.IsFastMode); // var autoCopy = AutoCopy.CreateMap<CustomerInfo, Customer>(); // autoCopy // .ForMember(p => p.zipCode, opt => opt.MapFrom(p => p.Address.ZipCode)) // .ForMember(p => p.PhoneNumber, opt => opt.MapFrom(p => p.Phone.Number)); // autoCopy.Register(); //#if !DEBUG // int loop = 10000000; //#else // int loop = 10; //#endif // Stopwatch sw = new Stopwatch(); // sw.Restart(); // for (int i = 0; i < loop; i++) // { // Customer customer = new Customer(); // CustomerInfo customerInfo = new CustomerInfo(); // customer.Address = new Address { ZipCode = "1234567890" }; // customer.Phone = new Telephone { Number = "17791704580" }; // customer.Memo = "测试默认拷贝"; // ShallowCopy(customerInfo, customer); // } // sw.Stop(); // Console.WriteLine(sw.ElapsedMilliseconds); // sw.Restart(); // for (int i = 0; i < loop; i++) // { // Customer customer = new Customer(); // CustomerInfo customerInfo = new CustomerInfo(); // customer.Address = new Address { ZipCode = "1234567890" }; // customer.Phone = new Telephone { Number = "17791704580" }; // customer.Memo = "测试默认拷贝"; // autoCopy.ShallowCopy(customerInfo, customer); // } // sw.Stop(); // Console.WriteLine(sw.ElapsedMilliseconds); // Customer c = new Customer(); // c.Address = new Address { ZipCode = "1234567890" }; // c.Phone = new Telephone { Number = "17791704580" }; // c.Memo = "测试默认拷贝"; // var ci = autoCopy.Map(c); // var propertyInfo = PropertyHelper<Customer>.GetProperty(p => p.Address.ZipCode); // var parameter = Expression.Parameter(typeof(Customer), "c"); // var body = Expression.MakeMemberAccess(parameter, propertyInfo); // var func = Expression.Lambda(body, parameter).Compile(); }