何かが欠けていますが、それが何であるかわかりません。このメソッドを実装したいので、提供された型を含むアセンブリをスキャンしてコンテナーに追加します。
問題は次のとおりです。クエリから返された型をスキャナーのコレクションに追加するにはどうすればよいですか?
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; }
誰かが私を助けてくれることを願っています!