public class HomeController : Controller{public ActionResult Index(){
//核心对象IKernel ninjectKernel = new StandardKernel();ninjectKernel.Bind<IValueCaculator>().To<LinqValueCalcalator>();
//方案1:获取接口实例IValueCaculator calImpl = ninjectKernel.Get<IValueCaculator>();//方案2:自身绑定//ShoppingCart cart = ninjectKernel.Get<ShoppingCart>();//cart1.Products = new List<Product>() { new Product() { Category = "food", Price = 12 }, new Product() { Category = "books", Price = 30 }, new Product() { Category = "wine", Price = 40 } };ShoppingCart cart = new ShoppingCart(calImpl) { Products = new List<Product> { new Product() { Category = "food", Price = 12 }, new Product() { Category = "books", Price = 30 }, new Product() { Category = "wine", Price = 40 } } };var sum=cart.Cal();return View();}public ActionResult About(){return View();}}public class Product{public int ProductId { get; set; }public string Name { get; set; }public string Description { get; set; }public decimal Price { get; set; }public string Category { get; set; }}public interface IValueCaculator{decimal ValueProduct(IEnumerable<Product> products);}public class LinqValueCalcalator : IValueCaculator{public decimal ValueProduct(IEnumerable<Product> products){return products.Sum(a => a.Price);}}public class ShoppingCart{protected IValueCaculator valueCaculator;public ShoppingCart(IValueCaculator caculator){valueCaculator = caculator;}public IEnumerable<Product> Products { get; set; }public decimal Cal(){return valueCaculator.ValueProduct(Products);}}