微软IOC容器Unity简单代码示例2-配置文件方式

@(编程)

1. 通过Nuget下载Unity

这个就不介绍了

2. 接口代码


namespace UnityDemo
{
interface ILogIn
{
void Login();
}
} namespace UnityDemo
{
interface IUser
{
string GetUserName();
}
}

3. 实现代码

using Microsoft.Practices.Unity;
using System; namespace UnityDemo
{
class LogInImpl : ILogIn
{
[Dependency]
public IUser userOper { get; set; }
public void Login()
{
Console.WriteLine(this.userOper.GetUserName());
}
}
} namespace UnityDemo
{
class UserImpl:IUser
{
public string GetUserName()
{
return "keke";
}
}
}

4. 配置文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration"/>
</configSections>
<unity>
<containers>
<container name="defaultContainer">
<register type="UnityDemo.ILogIn,UnityDemo" mapTo="UnityDemo.LogInImpl,UnityDemo" />
<register type="UnityDemo.IUser,UnityDemo" mapTo="UnityDemo.UserImpl,UnityDemo" />
</container>
</containers>
</unity>
</configuration>

5. 调用代码

using Microsoft.Practices.Unity;
using Microsoft.Practices.Unity.Configuration;
using System;
using System.Configuration; namespace UnityDemo
{
class Program
{
static void Main(string[] args)
{
IUnityContainer container = new UnityContainer();
UnityConfigurationSection configuration = ConfigurationManager.GetSection(UnityConfigurationSection.SectionName)
as UnityConfigurationSection;
configuration.Configure(container, "defaultContainer");
var item = container.Resolve<ILogIn>();
item.Login();
Console.Read();
}
}
}
上一篇:微软IOC容器Unity简单代码示例3-基于约定的自动注册机制


下一篇:docker 命令汇集