我已经看到信息以编程方式搜索程序集中的所有类型,以确定哪些类实现哪些接口或从哪些基类继承。但是当你浏览msdn(例如Stream类)时,它们会为你提供一个很好的继承层次结构图,你可以点击查看其他类从它继承的内容。
但是接口似乎没有相同的功能。
这是一个普遍的问题。我可以很容易地找到从特定父类继承的所有类...但是有一些方法可以使用接口吗?除了编写程序来搜索所有大会外?我正在寻找一种方法来搜索所有实现特定接口的类......
答案 0 :(得分:0)
答案 1 :(得分:0)
代码:
IEnumerables.ToList()
Google:
ILIST C#
您将获得包含以下信息的链接:
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class ArrayList : IList, ICollection,
IEnumerable, ICloneable
您可以看到IList,页面底部也有指向其他列表的链接。
答案 2 :(得分:0)
Visual Studio中的CTRL + ALT + J将打开对象浏览器。
搜索您的类型,例如“IEnumerable”。
展开类型。展开“派生类型”。
这可能无法为您提供一切,但这是一个可以开始的地方。
(至少VS 2012 PREMIUM)
答案 3 :(得分:0)
这样的事情:
public static class TypeExtension
{
public static IEnumerable<Type> GetInterfaces(this Type type)
{
foreach (var intf in type.GetInterfaces())
{
yield return intf;
foreach (var x in intf.GetInterfaces())
yield return x;
}
}
}