title: How can I drag and drop classes that implement an interface?
body: <p>I can drag and drop my class onto a UserControl using:</p>
  
  <pre><code>private void UcPlot_DragDrop(object sender, DragEventArgs e)
  {
     MyClass myClass = (MyClass)e.Data.GetData(typeof(MyClass));
     Plot( myClass );
  }
  </code></pre>
  
  <p>How can I do this with classes that implement an interface?</p>
  
  <pre><code>private void UcPlot_DragDrop(object sender, DragEventArgs e)
  {
       IPlot myPlot = (IPlot)e.Data.GetData(typeof(IPlot));
       Plot( myPlot );
  }
  </code></pre>
  
  <p>These classes may have additional information that isn't needed to plot the data, but is needed elsewhere in the program.</p>