Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 类型';Newtonsoft.Json.Linq.JObject';在组装中';未将Newtonsoft.Json标记为可序列化_C#_Json_Binaryformatter - Fatal编程技术网

C# 类型';Newtonsoft.Json.Linq.JObject';在组装中';未将Newtonsoft.Json标记为可序列化

C# 类型';Newtonsoft.Json.Linq.JObject';在组装中';未将Newtonsoft.Json标记为可序列化,c#,json,binaryformatter,C#,Json,Binaryformatter,我正在尝试使用BinaryFormatter深度克隆对象,但遇到此错误 Type 'Newtonsoft.Json.Linq.JObject' in Assembly 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' is not marked as serialisable 有人能帮我吗 [Serializable] public class MyClassObject

我正在尝试使用BinaryFormatter深度克隆对象,但遇到此错误

Type 'Newtonsoft.Json.Linq.JObject' in Assembly 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' is not marked as serialisable 
有人能帮我吗

[Serializable]
public class MyClassObject
{
    public JObject RandomJobject { get; set; }
    public SheetInfo2 Clone()
    {
        using (MemoryStream memoryStream = new MemoryStream())
        {
            BinaryFormatter binaryFormatter = new BinaryFormatter();
            binaryFormatter.Serialize(memoryStream, this);
            memoryStream.Seek(0, SeekOrigin.Begin);
            return (SheetInfo2)binaryFormatter.Deserialize(memoryStream);
        }
    }
}

附言:关于这个话题的帖子很少,但我找不到任何解决方案*我原来的类中几乎没有其他属性。

为什么要这样?为什么要序列化JObject而不是JSON字符串或原始对象?你想干什么?不要说“我想序列化一个JObject”,这就是你认为你能解决问题的方式。实际问题是什么?为什么不使用泛型、动态、扩展对象?@PanagiotisKanavos,基本上我是在尝试实现对象的深度克隆。我可以使用JsonConvert.DeserializeObject(JsonConvert.SerializeObject(OriginalObject))来实现这一点,但这很慢,我想尝试使用上面的方法,看看它是否更好。根本没有解释为什么要使用JObject。它只用于JSON解析。无论如何,如果您打算使用BinaryFormatter进行克隆,则所有对象都必须可序列化。您可以使用深入克隆
作业对象。性能应该比序列化然后反序列化好得多。