Проблема возникает, когда у меня есть класс, реализующий интерфейс и расширяющий класс, который реализует интерфейс:
class Some : SomeBase, ISome {}
class SomeBase : ISomeBase {}
interface ISome{}
interface ISomeBase{}
Поскольку typeof (Some) .GetInterfaces () возвращает массив с ISome и ISomeBase, я не могу различить, реализован или унаследован ISome (как ISomeBase) Как MSDN я не могу принять порядок интерфейсов в массиве, поэтому я потерян. Метод typeof (Some) .GetInterfaceMap () также не различает их.