Autofac 依赖注入

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Autofac.Builder;
using Autofac.Configuration;
using Autofac;
/// by rhythmk
namespace AutofacApp
{
class Program
{
static void Main(string[] args)
{
var builder = new ContainerBuilder();
builder.RegisterType<DBManage>();
builder.RegisterType<sqlDB>().As<IDataBase>();
//using (var container=builder.Build(ContainerBuildOptions.Default))
//{
var container = builder.Build(ContainerBuildOptions.Default);
var manage = container.Resolve<DBManage>();
manage.Select();
manage.Update();
//}
Console.ReadKey();
}
}


public interface IDataBase
{
void Update();
void Select();
}

public class sqlDB : IDataBase
{

#region IDataBase 成员

public void Update()
{
Console.WriteLine("sqlDB Update");
}

public void Select()
{
Console.WriteLine("sqlDB Select");
}

#endregion
}
public class MysqLDB : IDataBase
{

#region IDataBase 成员

public void Update()
{
Console.WriteLine("MysqLDB Update");
}

public void Select()
{
Console.WriteLine("MysqLDB Select");
}

#endregion
}

public class DBManage
{
private IDataBase _dataBase;

public DBManage(IDataBase m_dataBase)
{
this._dataBase = m_dataBase;
}

public void Update()
{
this._dataBase.Update();
}

public void Select()
{
this._dataBase.Select(); } }}

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...