title: Why a class does not implement ISerializable interface violates MissingSerializationConstructorRule
body: <p>We have sonar reports that says many of the classes in our projects violates the <a href="https://github.com/spouliot/gendarme/wiki/Gendarme.Rules.Serialization.MissingSerializationConstructorRule%282.10%29" rel="nofollow">MissingSerializationConstructorRule</a>, however neither the class nor its base class implement any of the Iserializable interface, anyone has any idea why?</p>
  
  <p>for example, sonar says:</p>
  
  <pre><code>public class CommentPage : RmdsPublicationPage, ICommentPage 
      { 
   *MissingSerializationConstructorRule    
   The required constructor for ISerializable is not present in this type.* 
      public CommentPage() 
      { 
          this["COMMENTTXT"] = null; 
  </code></pre>
  
  <p>where the corresponding class is </p>
  
  <pre><code>public class CommentPage : RmdsPublicationPage, ICommentPage
  {
      public CommentPage()
      {
          // do something
      }
      public void Update(string comment)
      {
          //something else
      }
  }
  </code></pre>
  
  <p>Two interfaces does not implement ISerializable either, i.e.</p>
  
  <pre><code>public class RmdsPublicationPage : Dictionary&lt;string, object&gt;, IRmdsPublicationPage
  
  public interface IRmdsPublicationPage : IDictionary&lt;string, object&gt;, IDisposable
  </code></pre>