using (var container = builder.Build())
{
var manager = container.Resolve<DatabaseManager>();
manager.Search("SELECT * FORM USER");
}
运行结果:
7)另外还有一种方式,通过Register方法进行注册:
?
- var builder = new ContainerBuilder(); //builder.RegisterType<DatabaseManager>();
- builder.RegisterModule(new ConfigurationSettingsReader("autofac")); builder.Register(c => new DatabaseManager(c.Resolve<IDatabase>()));
- using (var container = builder.Build()) {
- var manager = container.Resolve<DatabaseManager>(); manager.Search("SELECT * FORM USER");
- }
得到结果也是一样的。
8)现在我想通过一个用户类来控制操作权限,比如增删改的权限,创建一个用户类:
?
- /// <summary> /// Id Identity Interface
- /// </summary> public interface Identity
- { int Id { get; set; }
- } public class User : Identity
- { public int Id { get; set; }
- public string Name { get; set; } }
修改DatabaseManager.cs代码:
- public class DatabaseManager {
- IDatabase _database; User _user;
- public DatabaseManager(IDatabase database) : this(database, null) {











