title: Activator.CreateInstance MissingMethodException
body: <p>I have a class in a c# dll with the following class</p>
  
  <pre><code>public class RequiredTask : Base.BaseObject
  {
  
      public string Name { get; set; }
      public string Description { get; set; }
  
      public RequiredTask() 
          : base()
      { }
  
  }
  </code></pre>
  
  <p>Which inherits from this class</p>
  
  <pre><code>public class BaseObject : IBaseObject, INotifyPropertyChanged
  {
      public DateTime? UpdatedOn { get; set; }
      public string UpdatedBy
      public DateTime? CreatedOn
      public string CreatedBy 
  
      public BaseObject() { }
  
  }
  </code></pre>
  
  <p>Then the UI, is a VB.Net Winform, this form is going to be a base form and is generic so it can work with all the types from the c# library, and it has a new button that needs to instanciate the new type of whatever T is and pass it to a form which will be used to edit T. </p>
  
  <p>this is the form code</p>
  
  <pre><code>Public Class Search(Of T As Library.Base.BaseObject)
  
          Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click
              If MyBase.OpenFormName &lt;&gt; "" Then App.mfrmMDI.OpenForm(MyBase.OpenFormName, DirectCast(Activator.CreateInstance(GetType(T), New Object()), T))
          End Sub
  
  End Class
  </code></pre>
  
  <p>But I get this error Constructor on type 'Library.Production.RequiredTask' not found. when it reaches </p>
  
  <pre><code>DirectCast(Activator.CreateInstance(GetType(T), New Object()), T)
  </code></pre>