title: Can abstract class be a parameter in a controller's action?
body: <p>I have an Action function inside of a Controller, which is being called with AJAX.  That Action is taking in 1 parameter.  Client side, I construct a JSON object which should serialize into that 1 parameter.  The problem I ran into is that the parameter class is declared as abstract.  Thus, it cannot be instantiated.</p>
  
  <p>When AJAX hits that Action, I get the following:</p>
  
  <blockquote>
    <p>Cannot create an abstract class.</p>
    
    <p>Stack Trace:</p>
    
    <p>[MissingMethodException: Cannot create
    an abstract class.]<br>
    System.RuntimeTypeHandle.CreateInstance(RuntimeType
    type, Boolean publicOnly, Boolean
    noCheck, Boolean&amp; canBeCached,
    RuntimeMethodHandleInternal&amp; ctor,
    Boolean&amp; bNeedSecurityCheck) +0<br>
    System.RuntimeType.CreateInstanceSlow(Boolean
    publicOnly, Boolean skipCheckThis,
    Boolean fillCache) +98<br>
    System.RuntimeType.CreateInstanceDefaultCtor(Boolean
    publicOnly, Boolean
    skipVisibilityChecks, Boolean
    skipCheckThis, Boolean fillCache) +241
    System.Activator.CreateInstance(Type
    type, Boolean nonPublic) +69
    ...............</p>
  </blockquote>
  
  <p>Is there any way to pull off such a scenario without creating a different parameter object, "un-declaring" the parameter object as abstract, or digging into mechanics of MVC?</p>
  
  <h2>Update</h2>
  
  <p>I'm currently working with back-end developers to tweak their objects.  Either way, I think that would be the ultimate solution.  Thank you all for your answers.</p>