在Autofac中如何獲取註冊元件的型別

2021-09-22 06:15:39 字數 527 閱讀 9030

假如這裡我註冊component:

builder.registertype().as();
後面我們想獲取型別,可以這樣

container.resolve().gettype()
但是這樣是先例項化了deleteorganization物件,然後再獲取type, 但是我們並不需要例項。如何做才能更有效率呢?

合理的做法是:

var registration =container.componentregistry

.registrationsfor(

new typedservice(typeof

(ideleteorganization)))

.singleordefault();

if (registration != null

)

}

這裡還可以使用keyedservice, 如果你想通過key來尋找註冊的component

和uniqueservice, 需要乙個guid

autofac 獲取註冊後的例項

在一些情境下,不想使用構造器獲得例項物件,所以.使用 dependencyresolver,當然,這個只能在mvc例項化controller時才會生效,對bll和dll介面是沒辦法獲取例項物件的。所以在註冊ioc例項時,需要把ioc容器賦值到全域性變數 public class iocconfig ...

C 中如何獲取登錄檔資訊

實現方式 利用microsoft.win32類提供的登錄檔類訪問系統登錄檔獲取odbc資料服務列表。具體實現 microsoft.win32提供了registrykey類,用來訪問系統的登錄檔。定義登錄檔子path string strregpath software odbc odbc.ini o...

C 中如何獲取登錄檔資訊

需求 winform中login模組呈現時,需要提供odbc服務列表供user選擇 實現方式 利用microsoft.win32類提供的登錄檔類訪問系統登錄檔獲取odbc資料服務列表。具體實現 microsoft.win32提供了registrykey類,用來訪問系統的登錄檔。定義登錄檔子path ...