Ninject简单的Demo
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Ninject; namespace NinjectDemo
{
class Program
{
static void Main(string[] args)
{
IKernel kernel = new StandardKernel();
kernel.Bind<IHuman>().To<Chinese>() //依赖性链
.WithPropertyValue("Capital", "北京") //指定属性的参数值
.WithPropertyValue("SkinColor","黄色")
.WithConstructorArgument("count", ""); //指定构造函数的参数值 //kernel.Bind<IHuman>().To<USA>().WithPropertyValue("Capital", "华盛顿");
//kernel.Bind<IHuman>().To<Japanese>().WithPropertyValue("Capital", "东京"); IHuman human = kernel.Get<IHuman>();
human.Talk(); Console.ReadKey();
}
} //实体类
public class Person
{
public string Name { get; set; }
public string Language { get; set;}
} //接口 public interface IHuman
{
void Talk();
} //实现接口的类 public class Chinese : IHuman
{
public string Capital { get; set; } //首都
public string SkinColor { get; set; } //肤色 private string Population { get; set; } //人口 public Chinese(string count) //构造函数
{
Population = count;
} public void Talk()
{
Console.WriteLine("中国人说,你好!");
Console.WriteLine("首都:{0}",this.Capital);
Console.WriteLine("肤色:{0}",this.SkinColor);
Console.WriteLine("中国共有{0}亿人",this.Population);
}
} public class USA : IHuman
{
public string Capital { get; set; }
public void Talk()
{
Console.WriteLine("美国人说,Hello!");
Console.WriteLine("首都:{0}", this.Capital);
}
} public class Japanese : IHuman
{
public string Capital { get; set; }
public void Talk()
{
Console.WriteLine("日本人说,こんにちは!");
Console.WriteLine("首都:{0}", this.Capital);
}
} }
Ninject简单的Demo的更多相关文章
- C#可扩展编程之MEF学习笔记(一):MEF简介及简单的Demo
在文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门致力于解决扩展性问题的框架 ...
- Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(二)
然后是项目下的文件:完整的项目请看 上一篇 Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(一) 项目下的springmvc-servlet.xml配置文件: ...
- MEF简介及简单的Demo
MEF简介及简单的Demo 文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门 ...
- Spring源码学习:第1步--在Spring源码中添加最简单的Demo代码
为了最大程度地贴近Spring源码并进行学习,一种比较直接的做法是:直接在Spring源码中加入Demo代码,并进行调试. 参照以前使用Spring的经验,Spring最简单的使用方法是:一个实体类. ...
- Dubbo入门—搭建一个最简单的Demo框架
一.Dubbo背景和简介 1.电商系统的演进 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. a.单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一 ...
- Dubbo入门---搭建一个最简单的Demo框架(转)
Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本. ...
- Dubbo简介---搭建一个最简单的Demo框架
Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本. ...
- [MyBean说明书]-如何进行最简单的DEMO
MyBean是轻量级的.绿色的框架,不需要安装任何的组件和携带任何的其他文件,前 期步骤已经相当精简了,仔细阅读完下面简单的五个步骤,就可以编写基于MyBean的插件: 1.加入Delphi的搜索路径 ...
- Python实例---简单购物车Demo
简单购物车Demo # version: python3.2.5 # author: 'FTL1012' # time: 2017/12/7 09:16 product_list = ( ['Java ...
随机推荐
- JS - 超强大文本动画插件Textillate.js
http://www.yyyweb.com/demo/textillate/ Textillate.js AsimplepluginforCSS3textanimations.
- 服务器文件系统一定要用NTFS格式。
网络中心通过ADSL接入Internet(固定的IP地址), 网站服务通过端口映射放到了内网的两台计算机上,一台IP地址为122.9.6.1,提供Web.FTP.POP3与SMTP服务:另一台IP地址 ...
- Java下利用Jackson进行JSON解析和序列化
Java下利用Jackson进行JSON解析和序列化 Java下常见的Json类库有Gson.JSON-lib和Jackson等,Jackson相对来说比较高效,在项目中主要使用Jackson进行 ...
- Shell下的正则表达式 (鸟哥私房菜)
"Open Source" is a good mechanism to develop programs.$ apple is my favorite food.$ Footba ...
- 修改ssh服务端口
第一种: 01假如要改Linux SSH的默认端口(22),那么你只要修改:/etc/ssh/sshd_config中Port 22,这里把22改成自己要设的端口就行了,不过千万别设和现已有的端口相同 ...
- Redis 笔记与总结7 PHP + Redis 信息管理系统(用户信息的增删改查)
1. PHP 连接 Redis 访问 redis 官方网站的 client 栏目:http://www.redis.io/clients#php,可以获取 redis 的 php 扩展. 其中 php ...
- lua学习笔记
工作需要,上周对lua赶进度似地学习了一遍,主要参考<lua中文教程>一书,中间参考一些<lua游戏开发实践>,首先说说这两本书,后者不适合初学,里面是对一个游戏脚本系统进行粗 ...
- [转]硬盘分区表知识——详解硬盘MBR
http://www.blogjava.net/galaxyp/archive/2010/04/25/319344.html 硬盘是现在计算机上最常用的存储器之一.我们都知道,计算机之所以神奇,是因为 ...
- Memcache技术分享:介绍、使用、存储、算法、优化、命中率
1.memcached 介绍 1.1 memcached 是什么? memcached 是以LiveJournal旗下Danga Interactive 公司的Brad Fitzpatric 为首开发 ...
- android studio 出错
http://blog.csdn.net/dhx20022889/article/details/44919905