通過之前的學習瞭解了使用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("類型未註冊");