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);}}

转载于:https://www.cnblogs.com/Benjamin/p/3284842.html

Ninject使用demo相关推荐

  1. 在WCF中使用Ninject轻量级IOC框架 之 SOAP风格服务

    最近学习MVC 看到很多文章都用了Ninject框架进行解耦,就考虑是否能用在平时写的WCF服务中,因为毕竟目前还是总要写服务的--蛋疼ing-- 传送门: Ninject框架官网: http://w ...

  2. Nancy之基于Nancy.Hosting.Aspnet的小Demo

    Nancy之基于Nancy.Hosting.Aspnet的小Demo 原文:Nancy之基于Nancy.Hosting.Aspnet的小Demo 近来学习了一下Nancy这个框架,感觉挺好用的,就写篇 ...

  3. jquery autocomplete demo

    根据用户输入值进行搜索和过滤,让用户快速找到并从预设值列表中选择. jquery.autocomplete参考地址 http://bassistance.de/jquery-plugins/jquer ...

  4. BERT-Pytorch demo初探

    https://zhuanlan.zhihu.com/p/50773178 概述 本文基于 pytorch-pretrained-BERT(huggingface)版本的复现,探究如下几个问题: py ...

  5. MinkowskiEngine demo ModelNet40分类

    MinkowskiEngine demo ModelNet40分类 本文将看一个简单的演示示例,该示例训练用于分类的3D卷积神经网络.输入是稀疏张量,卷积也定义在稀疏张量上.该网络是以下体系结构的扩展 ...

  6. Android - 下载别人的android demo 运行的时候加载很久问题处理

    一般从git 下载别人的demo 的时候每次都要加载很久,下载gradle 版本之类的, 处理方法把 gradle 下面的 gradle-wrapper 里面的distributionUrl 替换自己 ...

  7. android studio导入第三方库和demo

    导demo,导第三方库,都可以用这个方法,别想太复杂了, file - new - import module

  8. iOS蓝牙开发---CoreBluetooth[BLE 4.0] 初级篇[内附Demo地址]

    一.蓝牙基础知识 (一)常见简称 1.MFI  make for ipad ,iphone, itouch 专们为苹果设备制作的设备,开发使用ExternalAccessory 框架(认证流程貌似挺复 ...

  9. 【应用篇】Activiti外置表单实例demo(四)

    在这里我想说的外置表单.是说我们将我们自己的jsp(.form,.html)等页面上传到工作流的数据库中,当任务运行到当前结点时.给我们像前台发送绑定好的表单. 此处是给表单绑定表单的过程 不允许为: ...

最新文章

  1. BT项目的运作之一项目建设方案与BT总包方的选择
  2. mysql数据库基本操作命令
  3. object-c编程tips-timer
  4. cad线加粗怎么设置_原来CAD的线条还可以这样加粗!还能修改初始单位!太实用了...
  5. 如何做好仓库管理的工作专业知识
  6. 棋盘切割 DP POJ 1191
  7. 计算机教室安全预案 博客,校园安全应急预案
  8. 计算机语言wifi,Windows7WIFI热点设置器
  9. HDFS文件系统存储机制
  10. 剖析SQL Server2005 SQLCLR代码安全性
  11. 将ONNX对象检测模型转换为iOS Core ML(一)
  12. 批处理基础知识-EXIT
  13. 苹果手机里微信数据删除怎么恢复?
  14. LoRa SX1278通信代码开发学习
  15. wpf初学者-wpf控件简单介绍
  16. 吐血推荐 36招搞定电脑一切难题
  17. 《数值分析》李庆扬 03 曲线拟合的最小二乘法
  18. 使用python将任意张图片拼接成多张大图
  19. 康奈尔大学计算机硕士要求,申请康奈尔大学计算机硕士需要什么条件呢
  20. java入门-java程序

热门文章

  1. JavaScript --- this
  2. javascript基本功
  3. 转:MAC 下安装PHONEGAP开发环境
  4. Netty实现原理浅析
  5. java trie实现
  6. Embeded linux之移植iptables
  7. 预处理指令pragma常见用法集锦(#pragma once、#pragma comment和#pragma warning)
  8. Design Compiler指南——施加设计约束
  9. 【图像处理】——Python实现图像特征提取BP神经网络实现图像二分类
  10. numpy——ravel()和flatten()