我可以通过编程方式确定接口要求/依赖关系/继承吗?

时间:2011-10-21 23:32:20

标签: c# reflection c#-4.0

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

我正在研究reflection library并遇到了我可以使用此信息的情况,但却找不到获取它的方法。编译器和IDE(显然)都知道这种关系,因此它必须以某种方式可用。

我希望提供不涉及IL或源解析的建议,这些建议都不是我用例的选项。

2 个答案:

答案 0 :(得分:4)

您可以使用Type.GetInterfaces来发现此信息。

答案 1 :(得分:1)

powershell中的示例:

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

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

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