通过之前的学习了解了使用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("类型未注册");

相关文章:

  • 2022-12-23
  • 2022-02-16
  • 2022-12-23
  • 2022-12-23
  • 2021-11-02
  • 2021-10-22
猜你喜欢
  • 2021-07-10
  • 2022-03-06
  • 2021-08-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案