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

2019-12-26 13:18:05王冬梅
  • builder.RegisterModule(new ConfigurationSettingsReader("autofac"));   builder.RegisterInstance(user).As<User>();  
  • builder.Register(c => new DatabaseManager(c.Resolve<IDatabase>(), c.Resolve<User>()));  using (var container = builder.Build())  
  • {     var manager = container.Resolve<DatabaseManager>(); 
  •   manager.Add("INSERT INTO USER ...");   } 

     

     

    运行结果:

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

    分析:

     

    复制代码
    builder.RegisterInstance(user).As<User>();注册User实例。
    builder.Register(c => new DatabaseManager(c.Resolve<IDatabase>(), c.Resolve<User>()));通过Lampda表达式注册

     

    DatabaseManager实例。

    如果这里我修改User的属性值:

     

    复制代码
    User user = new User { Id = 2, Name = "zhangsan" };

     

    运行结果:

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

    说明该用户无权限操作。

    以上就是本文的全部内容,希望大家喜欢。