通过之前的学习了解了使用Autofac第一步是通过向容器中注册类型,然后从容器中获取类型实例该怎么做呢?
本次主要学习如何在Autofac中获取注册类型实例
Resolve
使用Resolve方法获取容器中注册的类型实例,如果类型未注册会抛异常
var sqlDal = container.Resolve<SqlDal>();
sqlDal.Add();
ResolveOptional
使用ResolveOptional方法获取容器中注册的类型实例,如果类型未注册会返回null
var sqlDal2 = container.ResolveOptional<SqlDal>();
sqlDal2.Add();
TryResolve
使用TryResolve方法获取容器中注册的类型实例,使用out参数,并且返回一个bool类型表示是否成功获取到类型实例
SqlDal sqlDal3 = null;
if (container.TryResolve<SqlDal>(out sqlDal3))
sqlDal3.Add();
else
Console.WriteLine("类型未注册");