mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
JsonHelpers refactor
This commit is contained in:
parent
3b9f5ed747
commit
b6c2bd5098
1 changed files with 20 additions and 2 deletions
|
@ -64,15 +64,33 @@ public static string SerializeToString<T>(T obj, DefaultValueHandling defaultVal
|
|||
return sb.ToString();
|
||||
}
|
||||
|
||||
public static void SerializeToStream<T>(T obj, Stream stream, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Ignore,
|
||||
NullValueHandling nullValueHandling = NullValueHandling.Ignore, ISerializationBinder serializationBinder = null)
|
||||
{
|
||||
using (StreamWriter streamWriter = new StreamWriter(stream))
|
||||
{
|
||||
Serialize(obj, streamWriter, defaultValueHandling, nullValueHandling, serializationBinder);
|
||||
}
|
||||
}
|
||||
|
||||
public static MemoryStream SerializeToMemoryStream<T>(T obj, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Ignore,
|
||||
NullValueHandling nullValueHandling = NullValueHandling.Ignore, ISerializationBinder serializationBinder = null)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
SerializeToStream(obj, memoryStream, defaultValueHandling, nullValueHandling, serializationBinder);
|
||||
return memoryStream;
|
||||
}
|
||||
|
||||
public static void SerializeToFile<T>(T obj, string filePath, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Ignore,
|
||||
NullValueHandling nullValueHandling = NullValueHandling.Ignore, ISerializationBinder serializationBinder = null)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(filePath))
|
||||
{
|
||||
Helpers.CreateDirectoryFromFilePath(filePath);
|
||||
|
||||
using (FileStream fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.Read, 4096, FileOptions.WriteThrough))
|
||||
using (StreamWriter streamWriter = new StreamWriter(fileStream))
|
||||
{
|
||||
Serialize(obj, streamWriter, defaultValueHandling, nullValueHandling, serializationBinder);
|
||||
SerializeToStream(obj, fileStream, defaultValueHandling, nullValueHandling, serializationBinder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue