Как узнать, когда интерфейс напрямую реализован в типе, игнорирующем унаследованные?

Проблема возникает, когда у меня есть класс, реализующий интерфейс и расширяющий класс, который реализует интерфейс:

class Some : SomeBase, ISome {}
class SomeBase : ISomeBase {}
interface ISome{}
interface ISomeBase{}

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

Ответы на вопрос(1)

Ваш ответ на вопрос