static void Print(AddressBook addressBook) { foreach(Person person in addressBook.Persons) { Console.WriteLine("Person ID: {0}", person.Id); Console.WriteLine(" Name: {0}", person.Name); if(!string.IsNullOrEmpty(person.Email)) Console.WriteLine(" E-mail address: {0}", person.Email); foreach(Person.PhoneNumber phoneNumber in person.Phones) { switch(phoneNumber.Type) { case Person.PhoneType.Mobile: Console.Write(" Mobile phone #: "); break; case Person.PhoneType.Home: Console.Write(" Home phone #: "); break; case Person.PhoneType.Work: Console.Write(" Work phone #: "); break; } Console.WriteLine(phoneNumber.Number); } } }
static int Main(string[] args) { if(args.Length != 1) { Console.Error.WriteLine("usage: AddPerson <address book file>"); return -1; } AddressBook addressBook = new AddressBook(); if(File.Exists(args[0])) addressBook = Serializer.Deserialize<AddressBook>(File.OpenRead(args[0])); addressBook.Persons.Add(PromptForAddress(Console.In, Console.Out)); Serializer.Serialize(File.Create(args[0]), addressBook); return 0; }