Jak zrobić odpowiednie odbicie metod interfejsu podstawowego

Mam 2 interfejsy i 2 klasy, które badam za pomocą Reflection:

IParentIChild - wywodzi się z IParentRodzicDziecko - pochodzi od rodzica

Dziwną rzeczą dla mnie jest fakt, że kiedy przeglądam refleksję na temat typu IChilda, nie znajduję metody IParent.

Ten sam kod zastosowany do typu Child działa zgodnie z oczekiwaniami - refleksja pokazuje metodę rodzica.

<code>interface IParent
{
     void ParentMethod();
}

interface IChild : IParent
{
     void ChildMethod();
}

class Parent 
{
     public void ParentMethod(){}
}

class Child : Parent
{
     public void ChildMethod(){}
}

void Main()
{
    //investigate derived interface
     Type t = typeof(IChild);
     var info = t.GetMethod("ChildMethod");//ok
     Console.WriteLine(info); 
     info = t.GetMethod("ParentMethod");//returns null!
     Console.WriteLine(info); 
     //investigate derived class
     t = typeof(Child);
     info = t.GetMethod("ChildMethod");//ok
     Console.WriteLine(info);
     info = t.GetMethod("ParentMethod");//ok
     Console.WriteLine(info);
}
</code>

Proszę wyjaśnić takie zachowanie?

Czy jest jakieś obejście problemu odzwierciedlające metody interfejsu podstawowego z typu interfejsu pochodnego?

questionAnswers(3)

yourAnswerToTheQuestion