我試圖使用序列化的protobuf網的一些數據。在序列化期間,我收到一個錯誤,指出沒有爲Point3D類型定義的序列化。我發現了一個像這樣的問題,但仍然無法執行並解決它。鏈接如下: - No serializer defined for type: System.Drawing.Color類型定義沒有串行:System.Windows.Media.Media3D.Point3D
[ProtoContract]
public class ReturnPanelData
{
[ProtoMember(1)]
public Point3D PlacedPoint3D { get; set; }
[ProtoMember(2)]
public double PlacementAngle { get; set; }
[ProtoMember(3)]
public string PanelName { get; set; }
}
[ProtoContract]
public class ReturnDataType
{
[ProtoMember(1)]
public List<ReturnPanelData> ReturnList { get; set; }
[ProtoMember(2)]
public double RemainderArea { get; set; }
[ProtoMember(3)]
public int Height { get; set; }
[ProtoMember(4)]
public int Width { get; set; }
[ProtoMember(5)]
public Point3D BasePoint3D { get; set; }
}
class Program
{
private static HashSet<ReturnDataType> _processedList = new HashSet<ReturnDataType>();
static void Main(string[] args)
{
using (var file = File.Create(@"D:\SavedPCInfo2.bin"))
{
Serializer.Serialize(file, _processedList);
}
Console.WriteLine("Done");
}
}
我在JSON序列化/反序列化begineer。如何解決這個問題?
如果無法序列化三維點用的Protobuf網,有什麼其他的選擇序列化/反序列化一個非常大名單(具有約30萬項)?
爲什麼不Newtonsoft.Json? – Camo
@Rinecamo:在選擇序列化技術之前,我搜索了一些文章,發現要序列化/反序列化大列表,使用Protobuf Net是一個更好的選擇。 http://stackoverflow.com/questions/26368550/efficient-way-of-storing-and-retrieving-large-json-100-mb-from-a-file-using –