是否可以在WCF中没有无参数构造函数的情况下序列化对象?

Jon*_*ker 7 wcf serialization .net-3.5 c#-3.0

我知道私有无参数构造函数可以工作但是没有无参数构造函数的对象呢?

我想公开来自第三方库的类型,因此我无法控制类型定义.

如果有什么方法最简单的?例如,我不需要创建子类型.

编辑:

我正在寻找的是类似于这里显示的自定义级别:http://msdn.microsoft.com/en-us/magazine/cc163902.aspx 虽然我不想诉诸流序列化/反序列化.

Mar*_*ell 5

你不能真正使任意类型可序列化; 在某些情况下(XmlSerializer例如),运行时公开了欺骗属性的选项.但是DataContractSerializer不允许这样.可行的选择:

  • 隐藏自己类型背后的类,这些类是序列化的(很多工作)
  • 提供二进制格式化代理(yeuch)
  • 编写自己的序列化核心(很多工作要正确)

从本质上讲,如果某些内容不是为序列化而设计的,那么很少有框架可以您对其进行序列化.