public class Person { public int ID { get; set; } public string Firstname { get; set; } public string Lastname { get; set; } public string Email { get; set; } public string PhoneNumber { get; set; } public override string ToString() { return $"{ID}: {Firstname} {Lastname} - {Email} - {PhoneNumber}"; } }
Install-Package GenFu
var person = A.New<Person>(); Console.WriteLine(person);
18: Diedra Morgan - Zachary.Garcia@telus.net - (531) 273-9001
var people = A.ListOf<Person>(5); people.ForEach(Console.WriteLine);
97: Maria MacKenzie - Alexandra.Johnson@rogers.ca - (670) 787-3053 34: Alexander Scott - Isaiah.Price@gmail.com - (730) 645-4946 66: Kevin Perez - Gabrielle.Alexander@hotmail.com - (230) 758-8233 81: Maria Evans - Vanessa.Bell@rogers.ca - (508) 572-4343 79: Tyler Parker - Alyssa.Taylor@telus.net - (297) 357-7617
A.Configure<Person>().Fill(x => x.ID, 0); var people = A.ListOf<Person>(5); people.ForEach(Console.WriteLine);
0: Darron Gonzalez - Benjamin.Daeninck@hotmail.com - (405) 418-7783 0: Melanie Garcia - Jennifer.Griffin@microsoft.com - (711) 277-8826 0: James Hughes - Tristan.Ward@live.com - (734) 400-8322 0: Miranda Torres - Ross.Davis@rogers.ca - (495) 479-8147 0: David Hughes - Jillian.Alexander@live.com - (361) 617-6642
var i = 1; A.Configure<Person>() .Fill(c => c.ID, () => i++); var people = A.ListOf<Person>(5); people.ForEach(Console.WriteLine);
1: Paul Long - Carlos.Kelly@telus.net - (202) 573-6278 2: Jesse Iginla - Liberty.Moore@gmail.com - (589) 791-3606 3: Raymundo Price - Ang.Taylor@live.com - (336) 400-1601 4: Elizabeth Getzlaff - Leslie.Campbell@att.com - (662) 582-9010 5: Abigail Bailey - Tristan.Ross@live.com - (225) 661-7023
A.Configure<Person>() .Fill(c => c.ID, 0) .Fill(c => c.Email, c => $"{c.Firstname}.{c.Lastname}@gmail.com"); var people = A.ListOf<Person>(5); people.ForEach(Console.WriteLine);
0: Patrick Perry - Patrick.Perry@gmail.com - (796) 460-6576 0: Rebecca Main - Rebecca.Main@gmail.com - (757) 472-3332 0: Kimberly Carter - Kimberly.Carter@gmail.com - (436) 484-8273 0: Sara Lewis - Sara.Lewis@gmail.com - (424) 717-7682 0: Lauren Ross - Lauren.Ross@gmail.com - (277) 294-5776
6. استفاده از Extensionهای درون ساخت GenFu برای مقداردهی
A.Configure<Person>() .Fill(x => x.Firstname).AsPersonTitle(); var people = A.ListOf<Person>(5); people.ForEach(Console.WriteLine);
64: Miss. Ratzlaff - Bryce.Simmons@att.com - (386) 309-2414 7: Air Marshall Yarobi - Ariana.Russell@att.com - (459) 238-0717 96: Air Marshall Taylor - Luke.Olsen@gmail.com - (775) 401-5281 28: Doctor Cox - Leah.Diaz@att.com - (569) 464-7961 99: Master Phillips - Chloe.Scott@hotmail.com - (578) 221-9021
7. GenFu WireFrame