public Box WrapProduct_2(IProductFactory iProductFactory) { Box box = new Box(); Product product = iProductFactory.Make(); box.Product = product; return box; }
public Box WrapProduct(Func<Product> getProduct, Action<Product> logCallBack) { Box box = new Box(); Product product = getProduct.Invoke(); if (product.Price >= 50) { logCallBack(product); } box.Product = product; return box; }