Getting list of interface methods available in derived interface
<p>I have a class A as:</p>

<pre><code>public class A: ParentA, IA
{
    public void func()
    {
    }
    public void ConsumableMethod()
    {
    }
    public void MethodA()
    {
    }
    public void ConsumableMethodFromIB()
    {
    }
}

public interface IA : IB
{
    void ConsumableMethod();
}

public interface IB
{
    void ConsumableMethodFromIB();
}

public abstract class ParentA
{
    public abstract void MethodA();

    public void MethodB()
    {
    }
}
</code></pre>

<p>I want a list of methods which are available in interface IA. For which I'm doing something like this:</p>

<pre><code>var methods = typeof(IA).GetMethods(BindingFlags.Instance | BindingFlags.Static | 
                BindingFlags.Public | BindingFlags.NonPublic);
</code></pre>

<p>By calling <strong><em>GetMethods</em></strong> on A, I'm getting a list of methods declared solely in A (i.e. func), method implemented in parent abstract class (i.e. MethodB) and implemented interface methods (i.e. ConsumableMethod &amp; ConsumableMethodFromIB).</p>

<p>What I want is <strong><em>methods available in IA (including methods from IB)</em></strong>. I'm currently getting 'ConsumableMethod' only, by calling GetMethods on IA. How can I get '<strong>ConsumableMethodFromIB</strong>' also ?</p>