title: Custom serialization with DataContractSerializer
body: <p>I'm currently using wrapper classes for my DataSets ,in order to implement custom serialization. I would like to use <code>DataContractSerializer</code> (more like have to use it) but still support the custom serialization. The problem is that the <code>[DataContract]</code> and <code>[Serializable]</code> attributes don't seem to get along so well... how could I override the serialization, and support <strong>BOTH</strong> DataContract &amp; ISerializable serialization?
  The code for the wrapper DataSet class is brought here:</p>
  
  <pre><code>[Serializable()]    
  [System.Runtime.InteropServices.ComVisible(false)]
  public class TestDatasetWrapper : TestDataSet, ISerializable
  {
      public TestDatasetWrapper()
          : base()
      {}
  
      protected TestDatasetWrapper(SerializationInfo info, StreamingContext context)
      {
          SerializationHelper.DeserializeTypedDataSet(info, this);
      }
  
      public override void GetObjectData(SerializationInfo info, StreamingContext context)
      {
          SerializationHelper.AddTypedDataSetObjectData(info, this);
      }
  }
  </code></pre>
  
  <p>Thanks!</p>