簡體   English   中英

Autofac 通過運行時提供的類型解析所有注冊的實例

[英]Autofac Resolve all registered instances by runtime provided Type

給定在運行時提供的類型,例如:

var type = typeof(IMyType);

Autofac 是否有能力解析該類型的所有已注冊實例? 例如,我正在尋找這樣的東西(沒有泛型):

container.ResolveMany(type);

是的,您可以解析該類型的集合。

像這樣的東西:

var type = typeof(IMyType);
var collectionType = typeof(IReadOnlyCollection<>).MakeGenericType(type);
var resolvedTypes = container.Resolve(collectionType);

工作示例

但是,由於type僅在運行時已知,因此要對已解析的實例執行任何操作,您需要使用反射。 唯一可以執行的編譯時轉換是IEnumerable<object>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM