title: Unable to convert implicitly to System.IDisposable when using "Using"
body: <p>Given two interfaces like these:</p>
  
  <pre><code>public interface MyInterface1 : IDisposable
  {
      void DoSomething();
  }
  
  public interface MyInterface2 : IDisposable
  {
      void DoSomethingElse();
  }
  </code></pre>
  
  <p>... and an implementation class like this:</p>
  
  <pre><code>public class MyClass : IMyInterface1, IMyInterface2
  {
      public void DoSomething()     { Console.WriteLine("I'm doing something..."); }
      public void DoSomethingElse() { Console.WriteLine("I'm doing something else..."); }
      public void Dispose()         { Console.WriteLine("Bye bye!"); }
  }
  </code></pre>
  
  <p>... I'd assume the following code snippet should compile:</p>
  
  <pre><code>class Program
  {
       public static void Main(string[] args)
       {
            using (MyInterface1 myInterface = new MyClass()) {
                myInterface.DoSomething();
            }
       }
  }
  </code></pre>
  
  <p>... instead I always get the following error message:</p>
  
  <pre><code>Error  1  'IMyInterface1': type used in a using statement must be implicitly convertible to 'System.IDisposable'
  </code></pre>
  
  <p>Any idea? Thanks.</p>