1
我錯過了一些東西,但不知道它是什麼。我想實現這個方法,所以它掃描包含提供的類型的程序集並將它們添加到容器中。掃描大會實現某些接口,並將它們添加到容器
問題是:如何將從我的查詢返回的類型添加到掃描程序集合中?
public TorrentScannerContainer AddFromAssemblyOf<T>()
{
TorrentScannerContainer current;
lock (TorrentScannerContainer._padlock)
{
var assignableType = typeof(ITorrentScanner);
var scanners = AppDomain.CurrentDomain.GetAssemblies().ToList()
.SelectMany(x => x.GetTypes())
.Where(t => assignableType.IsAssignableFrom(t) && t.IsClass).ToList();
foreach (Type type in scanners)
{
var scanner = type as ITorrentScanner;
TorrentScannerContainer.Current.Scanners.Add(scanner);
}
current = TorrentScannerContainer.Current;
}
return current;
}
的TorrentScannerContainer.Current.Scannners是ITorrentScanner的集合:
internal List<ITorrentScanner> Scanners { get; private set; }
我希望有人能幫助我!
結果是什麼?有錯誤嗎? –
我已更新我的問題。問題是:我如何將我的查詢返回的類型添加到掃描器集合中?我有一個類型,需要添加ITorrentScanner –
你不需要一個字典的界面和類型? – Jon