title: Is there any way to overload extension methods in C#?
body: <p>I have the following Model pattern:</p>
  
  <pre><code>public abstract class PARENTCLASS {...}
  public class CHILD_A_CLASS : PARENTCLASS{...}
  public static class EXTENSION{
    public static METHOD(this PARENTCLASS parent){...}
    public static METHOD(this CHILD_A_CLASS child) {...}
  }
  </code></pre>
  
  <p>Something like above, of course there will be more child (and grandchild) classes but I just put one of them. The problem is, when I called the extension method like the following:</p>
  
  <pre><code>PARENTCLASS cc = new CHILD_A_CLASS();
  cc.METHOD();
  </code></pre>
  
  <p>It will execute the PARENT Extension Method instead of my-expected CHILD extension method. Anyone have idea on how to implement this?
  (I'm not considering putting the METHOD itself into the class and let it do inheritance because I want to keep the model class clean and away from other logic).</p>