/// <summary>
 ///     Implementation of serialization, which uses JsonSerializer internally.
 ///     You can specify JsonSerializerOptions as context.
 /// </summary>
 /// <param name="writer"> The SerializationWriter to use </param>
 /// <param name="context"> Optional context to use as a hint as to what to store (BitVector32 is useful) </param>
 public virtual void SerializeOwnedData(SerializationWriter writer, object?context)
 {
     using (writer.EnterBlock(1))
     {
         string s = JsonSerializer.Serialize(this, GetType(), context as JsonSerializerOptions);
         writer.Write(s);
     }
 }
예제 #2
0
 /// <summary>
 ///     Store internal data directly into a SerializationWriter.
 /// </summary>
 /// <param name="writer"> The SerializationWriter to use </param>
 /// <param name="context"> Optional context to use as a hint as to what to store (BitVector32 is useful) </param>
 public virtual void SerializeOwnedData(SerializationWriter writer, object context)
 {
     using (writer.EnterBlock(1))
     {
         var formatter = new BinaryFormatter
         {
             AssemblyFormat = FormatterAssemblyStyle.Simple
         };
         formatter.Serialize(writer.BaseStream, this);
     }
 }