void work() { Restaurant fastfood = new Restaurant(() => { XmlSerializer xd = new XmlSerializer(typeof(List <Dish>)); using (StreamReader rd = new StreamReader("fastfoodMenu.xml")) { return(xd.Deserialize(rd) as List <Dish>); } }); fastfood.Open(); Restaurant italian = new Restaurant(() => { XmlSerializer xd = new XmlSerializer(typeof(List <Dish>)); using (StreamReader rd = new StreamReader("italianMenu.xml")) { return(xd.Deserialize(rd) as List <Dish>); } }); italian.Open(); Customer Michel = new Customer(); Michel.Name = "Michel"; Michel.preferences = dish => dish.vegan == false && dish.price < 10; Customer Roger = new Customer(); Roger.Name = "Roger"; Roger.preferences = dish => dish.vegan; fastfood.Welcome(Michel); fastfood.Welcome(Roger); italian.Welcome(Michel); italian.Welcome(Roger); }