static void VisitorTest() { var items = new List <ItemElement>() { new Book(cost: 20, isbn: "1234"), new Book(cost: 100, isbn: "5678"), new Fruit(priceKg: 10, wt: 2, nm: "Banana"), new Fruit(priceKg: 5, wt: 5, nm: "Apple") }; IShoppingCartVisitor visitor = new ShoppingCartVisitorImpl(); int total = items.Sum(x => x.accept(visitor)); Console.WriteLine("Total Cost = " + total); }
public int CalculatePrice() { var visitor = new ShoppingCartVisitorImpl(); return(_cartItems.Select(cartItem => cartItem.Accept(visitor)).Sum()); }