[英]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.