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

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

using (var container = builder.Build()) 

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

 

运行结果:

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

7)另外还有一种方式,通过Register方法进行注册:
 

  1. var builder = new ContainerBuilder();  //builder.RegisterType<DatabaseManager>(); 
  2. builder.RegisterModule(new ConfigurationSettingsReader("autofac"));  builder.Register(c => new DatabaseManager(c.Resolve<IDatabase>())); 
  3. using (var container = builder.Build())  { 
  4.   var manager = container.Resolve<DatabaseManager>();    manager.Search("SELECT * FORM USER"); 
?

 得到结果也是一样的。

8)现在我想通过一个用户类来控制操作权限,比如增删改的权限,创建一个用户类:
 

  1. /// <summary>   /// Id Identity Interface  
  2. /// </summary>   public interface Identity  
  3. {     int Id { get; set; }  
  4. }   public class User : Identity  
  5. {     public int Id { get; set; }  
  6.   public string Name { get; set; }   } 
?

修改DatabaseManager.cs代码:
 

  1. public class DatabaseManager   {  
  2.   IDatabase _database;     User _user; 
  3.   public DatabaseManager(IDatabase database) : this(database, null)     {