Reputation: 846
System.Runtime.Serialization.DataContractSerializer ser = new System.Runtime.Serialization.DataContractSerializer(obj.GetType());
MemoryStream ms = new MemoryStream();
XmlWriter xdw = XmlWriter.Create(ms);
ser.WriteObject(xdw, obj);
Length of ms is 0
Why?
Upvotes: 1
Views: 298
Reputation: 6101
That works:
class Program
{
static void Main(string[] args)
{
var obj = "bugaga!";
System.Runtime.Serialization.DataContractSerializer ser = new System.Runtime.Serialization.DataContractSerializer(obj.GetType());
MemoryStream ms = new MemoryStream();
using (XmlWriter xdw = XmlWriter.Create(ms))
{
ser.WriteObject(xdw, obj);
}
Console.WriteLine(ms.Length);
}
}
[update] or just do xdw.Flush(), as already noticed
Upvotes: 1