我需要获取应用程序中实现给定接口(interface)的所有对象。 我怎样才能实现这个目标?
谢谢
澄清一下,我正在寻找不是类型的实例。
为了再次澄清,我想我需要做一些邪恶的事情,比如获取与我的 AppDomain 关联的所有线程并遍历它们的堆栈。
再次-我老板的想法...我想到使用 IOC 或 AOP...
最佳答案
这将搜索所有加载的程序集。
AppDomain myDomain = AppDomain.CurrentDomain;
Assembly[] loadedAssemblies = MyDomain.GetAssemblies();
foreach(Assembly assembly in loadedAssemblies)
{
Type[] types = assembly.GetTypes();
foreach (Type type in types)
{
if (type.GetInterface(interface name) != null)
Console.WriteLine(type.Name);
}
}
关于c# - 获取应用程序内实现接口(interface)的所有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4183673/