經過以前的學習瞭解了使用Autofac第一步是經過向容器中註冊類型,而後從容器中獲取類型實例該怎麼作呢?sql
本次主要學習如何在Autofac中獲取註冊類型實例學習
Resolvespa
使用Resolve方法獲取容器中註冊的類型實例,若是類型未註冊會拋異常 code
var sqlDal = container.Resolve<SqlDal>(); sqlDal.Add();
ResolveOptionalblog
使用ResolveOptional方法獲取容器中註冊的類型實例,若是類型未註冊會返回nullit
var sqlDal2 = container.ResolveOptional<SqlDal>(); sqlDal2.Add();
TryResolveio
使用TryResolve方法獲取容器中註冊的類型實例,使用out參數,而且返回一個bool類型表示是否成功獲取到類型實例class
SqlDal sqlDal3 = null; if (container.TryResolve<SqlDal>(out sqlDal3)) sqlDal3.Add(); else Console.WriteLine("類型未註冊");