浅析依赖注入框架Autofac的使用

2019-12-26 13:18:05王冬梅

4)接着创建一个数据库管理器DatabaseManager.cs:
 

  1. public class DatabaseManager   {  
  2.   IDatabase _database;   
  3.   public DatabaseManager(IDatabase database)     {  
  4.     _database = database;     } 
  5.     public void Search(string commandText)  
  6.   {       _database.Select(commandText);  
  7.   }   
  8.   public void Add(string commandText)     {  
  9.       _database.Insert(commandText);     } 
  10.     public void Save(string commandText)  
  11.   {         _database.Update(commandText);  
  12.   }   
  13.   public void Remove(string commandText)     {  
  14.       _database.Delete(commandText);     } 
  15.   } 
?

5)在控制台中,编写以下测试程序:

var builder = new ContainerBuilder(); 
builder.RegisterType<DatabaseManager>(); 
builder.RegisterType<SqlDatabase>().As<IDatabase>(); 
using (var container = builder.Build()) 

    var manager = container.Resolve<DatabaseManager>(); 
    manager.Search("SELECT * FORM USER"); 
}

运行结果:

浅析依赖注入框架Autofac的使用

分析:

这里通过ContainerBuilder方法RegisterType对DatabaseManager进行注册,当注册的类型在相应得到的容器中可以Resolve你的DatabaseManager实例。