Я пытаюсь выполнить запрос к интерфейсам класса через отражение, однако метод 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)));
Вышеприведенное, кажется, работает, поправьте меня в комментариях, если это не так