Ninject使用demo
生活随笔
收集整理的這篇文章主要介紹了
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);}}
//核心對象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);}}
?
轉載于:https://www.cnblogs.com/Benjamin/p/3284842.html
總結
以上是生活随笔為你收集整理的Ninject使用demo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Matlab2006a中如何创建.ne
- 下一篇: FileUtils工具类学习