title: SerializableAtttribute vs ISerializable
body: <p>I have extension method</p>
  
  <pre><code> public static T DeepClone&lt;T&gt;(this T source) where T : ISerializable
   {
    ..
   }
  </code></pre>
  
  <p>When I added "where T : ISerializable" I get error on all classes that uses DeepClone() having [Serializable] attribute.</p>
  
  <ul>
  <li><strong>What is the problem?</strong></li>
  </ul>
  
  <p><strong>EDIT:</strong></p>
  
  <ul>
  <li>I know that my classes should implement ISerializable to work. But is there any difference in serialized output when using ISerializable vs [Serializable]?</li>
  </ul>