数据合同序列化我有以下情形,我无法找到一个解决方案:为对象数组
我有通过svcutil.exe
工具生成多个数据合同proxys。我试图序列化包含数据合约代理实例的object[]
的实例。尝试以下操作:
public static string Serialize<T>(T obj)
{
StringBuilder sb = new StringBuilder();
var known = new List<Type>(){typeof(myDataContracClass), typeof(object[])};
DataContractSerializer ser = new DataContractSerializer(typeof(T), known);
ser.WriteObject(XmlWriter.Create(sb), obj);
return sb.ToString();
}
,然后使用它:
object[] arrayToSerialize = new object[] { someGuid, myDatacontractProxyInstance};
var serialized = Serialize(arrayToSerialize);
编辑:(要futher形容我的设置)
我已经把下面的数据契约属性:
[DataContract(Namespace = "http://mynamespace-uri")]
在svcutil.exe的代理生成中我声明了命名空间/n:*,My.Custom.Namespace
,这会导致生成d代理具有与数据契约类不同的名称空间。
Offtopic:为什么微软最终会遇到如此困难的序列化组件?
'DataContract'命名空间和生成的C#.NET类名称空间是不同的东西。 – Paciv
@Paciv,当然 - 我从来没有说他们是:) – Fdr
而你的问题是你持有来自不同的生成代理的数组对象? – Paciv