如何在实现某个接口的外部引用中找到class?
How to Find a class in external reference that implements certain interface?
我正在处理一个添加了外部参考的项目。我用对象资源管理器搜索了这个参考。我找到了一个带有我想使用的功能的接口。现在要实现一个接口,你需要一个 class ,它具有接口的所有功能。
我的问题是:是否可以在外部引用中找到可能已经实现此接口的 class?换句话说:有没有一种好方法可以查看外部引用背后的代码?
我想使用这个可能的 class 而不是制作一个新的。感谢阅读!
你可以用反射来做到这一点:
interface MyInterface { }
public static void Main()
{
Assembly asm = Assembly.Load("externalAssembly");
var interfaces = asm.GetTypes().Where(t => t.IsSubclassOf(typeof(MyInterface)));
foreach (var i in interfaces)
{
Console.WriteLine(String.Format("Found: {0}", i.Name));
}
}
我正在处理一个添加了外部参考的项目。我用对象资源管理器搜索了这个参考。我找到了一个带有我想使用的功能的接口。现在要实现一个接口,你需要一个 class ,它具有接口的所有功能。
我的问题是:是否可以在外部引用中找到可能已经实现此接口的 class?换句话说:有没有一种好方法可以查看外部引用背后的代码?
我想使用这个可能的 class 而不是制作一个新的。感谢阅读!
你可以用反射来做到这一点:
interface MyInterface { }
public static void Main()
{
Assembly asm = Assembly.Load("externalAssembly");
var interfaces = asm.GetTypes().Where(t => t.IsSubclassOf(typeof(MyInterface)));
foreach (var i in interfaces)
{
Console.WriteLine(String.Format("Found: {0}", i.Name));
}
}