是否有一种方法(反射或其他方式)以编程方式确定IList接口需要ICollection,而ICollection又需要IEnumerable?
我正在研究reflection library并遇到了我可以使用此信息的情况,但却找不到获取它的方法。编译器和IDE(显然)都知道这种关系,因此它必须以某种方式可用。
我希望提供不涉及IL或源解析的建议,这些建议都不是我用例的选项。
答案 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()
。