title: Extension methods conflict
body: <p>Lets say I have 2 extension methods to string, in 2 different namespaces:  </p>
  
  <pre><code>namespace test1
  {
      public static class MyExtensions
      {
          public static int TestMethod(this String str)
          {
              return 1;
          }
      } 
  }
  
  namespace test2
  {
      public static class MyExtensions2
      {
          public static int TestMethod(this String str)
          {
              return 2;
          }
      } 
  }
  </code></pre>
  
  <p>These methods are just for example, they don't really do anything.</p>
  
  <p>Now lets consider this piece of code:</p>
  
  <pre><code>using System;
  using test1;
  using test2;
  
  namespace blah {
      public static class Blah {
          public Blah() {
          string a = "test";
          int i = a.TestMethod(); //Which one is chosen ?
          }
      }
  }
  </code></pre>
  
  <p><strong>The Question</strong>:</p>
  
  <p>I know that only one of the extension methods will be chosen.<br>
   Which one will it be ? and why ?  </p>
  
  <p><strong>Edit:</strong></p>
  
  <p>This also bothers me, but not as much because it's a static method in a static class after all:  </p>
  
  <p>How can I choose a certain method from a certain namespace ?<br>
   Usually I'd use <code>Namespace.ClassNAME.Method()</code> ... But that just beats the whole idea of extension methods.  And I don't think you can use <code>Variable.Namespace.Method()</code> </p>