title: when does DataContractJsonSerializer include the type information?
body: <p>I noticed that with the DataContractJsonSerializer the serialized JSON string sometimes include the type information in the form of</p>
  
  <pre><code>{"__type":"MyClass:#MyNamespace", ... }
  </code></pre>
  
  <p>based on my observations it seems to only do this when it's serializing a base type but a <strong>known</strong> sub type is passed instead which makes sense, but I haven't found any official documentations to confirm this or indeed anyway to force the serializer to consistently exhibit this behaviour whenever it encounters a custom type.</p>
  
  <p>Can anyone confirm if my observations are correct? Better yet, if you know of a way to instruct the serializer to always serialize the type information for custom types, if this is at all possible?</p>
  
  <p>Thanks,</p>