コード例 #1
0
        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);
        }
コード例 #2
0
        public int CalculatePrice()
        {
            var visitor = new ShoppingCartVisitorImpl();

            return(_cartItems.Select(cartItem => cartItem.Accept(visitor)).Sum());
        }