title: Implicit 'this' cannot reference extension methods in Xamarin
body: <p>I have created a custom extension method to make adding constraints to views easier to do in code. Now when I wanted to use it, I couldn't get it to work. I imported my namespace where the extesion resides, and I tried calling it using the implicit <code>this</code> (so without specifying it), and it didn't work.</p>
  
  <p>So I had something like this:</p>
  
  <pre><code>public static class ExtensionMethods {
  
      public static void Constrain(this UIView view, /*parameters with some defaults*/)
      {
          view.AddConstraint( /*the same parameters*/ );
      }
  }
  
  public class MyCustomView: UIView
  {
      public MyCustomView()
      {
          Constrain(/*parameters*/);
      }
  }
  </code></pre>
  
  <p>Which didn't work. Then I added <code>this.</code> before the <code>Constrain</code> method call, it works, like so:</p>
  
  <pre><code>public static class ExtensionMethods {
  
      public static void Constrain(this UIView view, /*parameters with some defaults*/)
      {
          view.AddConstraint( /*the same parameters*/ );
      }
  }
  
  public class MyCustomView: UIView
  {
      public MyCustomView()
      {
          this.Constrain(/*parameters*/);
      }
  }
  </code></pre>
  
  <p>Is this a flaw in Xamarin's implementation of C# or is this supposed to be this way (if so, why?)?</p>