Найти только ненаследованные интерфейсы?

Я пытаюсь выполнить запрос к интерфейсам класса через отражение, однако метод Type.GetInterfaces() возвращает также все унаследованные интерфейсы.

etc

public class Test : ITest { }

public interface ITest : ITesting { }

Код

typeof(Test).GetInterfaces();

Вернет Type[], содержащий и ITest и ITesting, а мне нужен только ITest, есть ли другой метод, который позволяет указать наследование?

Спасибо, Алекс.

EDIT: Из ответов ниже я понял следующее,

Type t;
t.GetInterfaces().Where(i => !t.GetInterfaces().Any(i2 => i2.GetInterfaces().Contains(i)));

Вышеприведенное, кажется, работает, поправьте меня в комментариях, если это не так

11
задан H.B. 29 August 2012 в 00:54
поделиться