title: Determining derived classes through reflection
body: <p>I want to process the Methods of classes derived from class A. Class A and the derived classes reside in different assemblies. I use reflection to get all System.Type's from the derived assembly and iterate through their methods.</p>
  
  <pre><code>Assembly A: class Template {...}
  Assembly B: class X: A.Template {...}
  Assembly B: class Y: A.Template {...}
  Assembly B: class Z: A.Template {...}
  </code></pre>
  
  <p>When I try to iterate the methods of class <code>X</code> in assembly <code>B</code>, it includes all methods of class <code>A</code>. What I want to achieve is to iterate through only those methods that exist in derived classes.</p>
  
  <p>I don't think that being in different assemblies matters at all but even when I try to filter the method's declaring type based on the assembly, it does not work.</p>
  
  <p>I have tried using various properties of the <code>MethodInfo</code> object but have not been able to filter this out. I am sure I'm missing some silly check but have been struggling with this for long enough.</p>
  
  <p>Any advice would be appreciated.</p>