title: Must have a public parameterless constructor, it doesn't?
body: <pre><code>public interface IAutomatizableEvent
  {
      Event AutomatizableEventItem { get; }
      bool CanBeAutomatic { get; }
      bool IsAutomaticallyRunning { get; }
  
      bool OnBeforeAutomaticCall();
      bool OnAutomaticCheck();
      void OnAutomaticStart();
      void OnAutomaticCancel();
  }
  
  public abstract class AutomatizableEvent : IAutomatizableEvent
  {
      public AutomatizableEvent()
      {
      }
  
      #region Implementation of IAutomatizableEvent
  
      public abstract Event AutomatizableEventItem { get; }
      public abstract bool CanBeAutomatic { get; }
      public abstract bool IsAutomaticallyRunning { get; }
      public abstract bool OnBeforeAutomaticCall();
      public abstract bool OnAutomaticCheck();
      public abstract void OnAutomaticStart();
      public abstract void OnAutomaticCancel();
  
      #endregion
  }
  
  
  
  public static class EventSystem
  {
      public static List&lt;EventSystemBase&lt;Event, AutomatizableEvent&gt;&gt; AutomatizableEvents { get; set; }
      [...]
  }
  </code></pre>
  
  <p>"The type 'AutomatizableEvent' must have a public parameterless constructor in order to use it as parameter 'K' in the generic class 'EventSystemBase'"</p>
  
  <pre><code>public abstract class EventSystemBase&lt;T, K&gt; : AutomatizableEvent
      where T : Event
      where K : AutomatizableEvent, new()
  </code></pre>
  
  <p>My question is ... doesn't AutomatizableEvent <strong>DO HAVE</strong> a public parameterless constructor??</p>