gpt4 book ai didi

c# - 如何将对象标记为可序列化

转载 作者:行者123 更新时间:2023-11-30 13:45:05 25 4
gpt4 key购买 nike

我有一个 system.document.table 对象,我想将该对象标记为可序列化以便对其进行深度克隆。异常是 在程序集 'PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 中键入 'System.Windows.Documents.Table' 未标记为可序列化。

 FlowTable original =  new FlowTable();
original = objFlowTab.deepclone();

其中 objflowtab 有一个表对象

[Serializable]
public class FlowTable : Table
{ ....
....
public static class ExtensionMethods
{
// Deep clone
public static T DeepClone<T>(this T a)
{

using (MemoryStream stream = new MemoryStream())
{

BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream,a);
stream.Position = 0;
return (T)formatter.Deserialize(stream);
}
}
}

我在 formatter.Serialize(stream,a); 中遇到错误

最佳答案

为被序列化的类添加一个[Serializable]属性。

查看有关 C# 序列化的详细信息 here

关于c# - 如何将对象标记为可序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32842110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com