TriEngine  v0.0.16
General-purpose engine in C#/OpenGL
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events
TriDevs.TriEngine.Serializing.Serializer Class Reference

Provides serialization methods. More...

Static Public Member Functions

static string Serialize< T > (T data)
 Serialize an object to string. More...
 
static void Serialize< T > (T data, string file, Formatting formatting=Formatting.Indented)
 Serializes an object to file. More...
 
static T Deserialize< T > (string file)
 Deserialize a serialized object from file. More...
 

Detailed Description

Provides serialization methods.

Member Function Documentation

static T TriDevs.TriEngine.Serializing.Serializer.Deserialize< T > ( string  file)
static

Deserialize a serialized object from file.

Template Parameters
TType of the object being deserialized.
Parameters
fileFile to read from.
Returns
The deserialized object.
84  {
85  T data;
86  // Create the StreamReader
87  using (var reader = new StreamReader(file))
88  {
89  // And the json reader
90  using (var jsonReader = new JsonTextReader(reader))
91  {
92  // Now deserialize the file to the requested object...
93  data = JsonSerializer.Value.Deserialize<T>(jsonReader);
94  // ... and close the json reader.
95  jsonReader.Close();
96  }
97  // Finally, close the file reader
98  reader.Close();
99  }
100  return data;
101  }
static string TriDevs.TriEngine.Serializing.Serializer.Serialize< T > ( data)
static

Serialize an object to string.

Template Parameters
TType of data.
Parameters
dataData to serialize.
Returns
The serialized object in string format.
44  {
45  // Create a StringWriter to hold the serialized object
46  var writer = new StringWriter();
47  // Serialize the object into the writer
48  JsonSerializer.Value.Serialize(writer, data);
49  return writer.ToString(); // Return the data as string
50  }
static void TriDevs.TriEngine.Serializing.Serializer.Serialize< T > ( data,
string  file,
Formatting  formatting = Formatting.Indented 
)
static

Serializes an object to file.

Template Parameters
TType of the data.
Parameters
dataData to serialize.
fileFile to serialize to.
formattingThe formatting to use for the JSON output.
60  {
61  // Create the StreamWriter
62  using (var writer = new StreamWriter(file, false))
63  {
64  // Create the json writer
65  using (var jsonWriter = new JsonTextWriter(writer){Formatting = formatting})
66  {
67  // Now serialize the object to the file...
68  JsonSerializer.Value.Serialize(jsonWriter, data);
69  // ... and close the json writer
70  jsonWriter.Close();
71  }
72  // Finally, close the file writer
73  writer.Close();
74  }
75  }

The documentation for this class was generated from the following file: