我有一个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) 时出现了错误。