zoukankan      html  css  js  c++  java
  • Ninject使用demo

    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); } }
  • 相关阅读:
    面向对象编程
    re模块(正则表达式)
    numpy 模块
    hashlib,logging模块
    模块
    使用Python将Excel中的数据导入到MySQL
    [译]学习IPython进行交互式计算和数据可视化(七)
    [译]学习IPython进行交互式计算和数据可视化(六)
    [译]学习IPython进行交互式计算和数据可视化(五)
    [译]学习IPython进行交互式计算和数据可视化(四)
  • 原文地址:https://www.cnblogs.com/Benjamin/p/3284842.html
Copyright © 2011-2022 走看看