public void SaveToFile(string fileName, NetworkFileFormat format) { JsonSerializer serializer = JsonSerializer.CreateDefault(); switch (format) { case NetworkFileFormat.BSON: using (FileStream stream = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None)) { using (BsonDataWriter writer = new BsonDataWriter(stream)) { writer.Formatting = serializer.Formatting; serializer.Serialize(writer, this); } } break; default: using (StreamWriter writer = File.CreateText(fileName)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(writer)) { jsonWriter.Formatting = serializer.Formatting; serializer.Serialize(jsonWriter, this); } } break; } }
public string SaveToString(NetworkFileFormat format) { switch (format) { case NetworkFileFormat.BSON: using (MemoryStream stream = new MemoryStream()) { using (BsonDataWriter writer = new BsonDataWriter(stream)) { JsonSerializer serializer = JsonSerializer.CreateDefault(); writer.Formatting = serializer.Formatting; serializer.Serialize(writer, this); return(Convert.ToBase64String(stream.ToArray())); } } default: return(JsonConvert.SerializeObject(this)); } }
public byte[] SaveToMemory(NetworkFileFormat format) { switch (format) { case NetworkFileFormat.BSON: using (MemoryStream stream = new MemoryStream()) { using (BsonDataWriter writer = new BsonDataWriter(stream)) { JsonSerializer serializer = JsonSerializer.CreateDefault(); writer.Formatting = serializer.Formatting; serializer.Serialize(writer, this); return(stream.ToArray()); } } default: return(UTF8Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(this))); } }