Ninject简单的Demo
Posted jamess
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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", "13"); //指定构造函数的参数值
//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的主要内容,如果未能解决你的问题,请参考以下文章
[vscode]--HTML代码片段(基础版,reactvuejquery)