C# 具有[Serializable]属性的类拒绝序列化

C# 具有[Serializable]属性的类拒绝序列化,c#,serialization,C#,Serialization,我用[Serializable]属性装饰了类。我正在创建该类的对象并将其添加到datatable中。当我使用BinarySerializer序列化datatable时,得到的错误如下 类型未实现IXmlSerializable接口,因此无法 继续序列化 下面是示例代码 [Serializable] class PropertyData { // Properties } class Main { PropertyData obj = new PropertyData(); dtt

我用[Serializable]属性装饰了类。我正在创建该类的对象并将其添加到datatable中。当我使用BinarySerializer序列化datatable时,得到的错误如下

类型未实现IXmlSerializable接口,因此无法 继续序列化

下面是示例代码

[Serializable]
class PropertyData
{
  // Properties
}

class Main
{
  PropertyData obj = new PropertyData();

  dttable.Rows.Add(val1,val2,val3, obj);

  // ...

  ObjbinaryFormatter.Serialize(stream, dttable); // throws exception

}
请建议解决方案。

希望属性正确,但异常似乎不是来自BinaryFormatter,而是来自。问题似乎是这门课不公开。然而,您的代码并不清楚,因为您似乎正在序列化数据表。尝试将您的文件存储在中,而不是序列化它


为了快速参考,请签出

可能您应该创建一个
数据集
,将属性设置为,向其中添加
数据表
,并序列化
数据集
。您可以发布一个可编译的示例吗?小细节很重要,你忽略了太多。您是否正在尝试序列化
PropertyData
中的一些异常类型?演示如何创建BinaryFormatter和DataTable对象。为了增加我们能够给出有意义答案的机会,我们需要查看异常的完整
ToString()
输出,包括异常类型、消息、,回溯和内部异常(如果有)。例如,什么是
二进制序列化程序
?是真的吗?如果是
二进制格式化程序
,请参阅