【发布时间】:2010-09-28 23:12:27
【问题描述】:
如何扫描 bin 目录中的所有程序集并检索实现接口的所有类型?
【问题讨论】:
-
这些答案中的任何一个都能回答您的问题吗?
如何扫描 bin 目录中的所有程序集并检索实现接口的所有类型?
【问题讨论】:
您可以使用反射和 LINQ 查询轻松找到它们
var type = typeof(IRyuDice);
var types = AppDomain.CurrentDomain.GetAssemblies().ToList()
.SelectMany(a => a.GetTypes())
.Where(t => type.IsAssignableFrom(t));
AppDomain.CurrentDomain.GetAssemblies 返回一个 System.Reflection.Assembly[] 集合。然后选择该程序集中的所有类型并检查该类型是否使用了您的接口。
http://msdn.microsoft.com/en-us/library/system.appdomain.getassemblies.aspx
【讨论】:
我的答案可能太明显了,但我会试一试......
您需要查看DirectoryInfo 以获取目录的每个文件(*.dll)并使用reflection 来挖掘它们...
这是回答你的问题还是你想知道实际的实现?
【讨论】: