C# 我可以通过编程确定接口需求/依赖项/继承吗?

C# 我可以通过编程确定接口需求/依赖项/继承吗?,c#,reflection,c#-4.0,C#,Reflection,C# 4.0,是否有一种方法(反射或其他)可以通过编程确定IList接口需要ICollection,而ICollection又需要IEnumerable 我正在一个项目中工作,遇到了一个场景,在这个场景中我可以使用这些信息,但却找不到获取这些信息的方法。编译器和IDE(显然)都知道这种关系,因此它必须以某种方式可用 我希望得到不涉及IL或源解析的建议,这两者都不是我的用例的一个选项。您可以使用来发现这些信息。下面是powershell中的示例: PS C:\> [collections.ilist].g

是否有一种方法(反射或其他)可以通过编程确定IList接口需要ICollection,而ICollection又需要IEnumerable

我正在一个项目中工作,遇到了一个场景,在这个场景中我可以使用这些信息,但却找不到获取这些信息的方法。编译器和IDE(显然)都知道这种关系,因此它必须以某种方式可用


我希望得到不涉及IL或源解析的建议,这两者都不是我的用例的一个选项。

您可以使用来发现这些信息。

下面是powershell中的示例:

PS C:\> [collections.ilist].getinterfaces()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    ICollection
True     False    IEnumerable

c#中的等价物是:
typeof(IList).GetInterfaces()

COM对象可以做到这一点。Doh!谢谢,这说明了如果你暂时不使用它,你可以多么快地忘记一些东西:)实际上,似乎根本不需要递归(我得到了一个包含所有必需接口的数组)。@MortenMertner:…这再次验证了你的第一条评论:-)