Ejemplo n.º 1
0
 public string Serialize <T>(T obj, IonTextOptions options, IScalarWriter scalarWriter = null)
 {
     using (var sw = new StringWriter())
     {
         var writer = new IonTextWriter(sw, options);
         IonSerializationPrivate.WriteObject(writer, obj, scalarWriter);
         return(sw.ToString());
     }
 }
Ejemplo n.º 2
0
        public static string Serialize <T>(T obj)
        {
            var sw     = new StringWriter();
            var writer = new IonTextWriter(sw);
            var action = IonSerializerExpression.GetAction <T>();

            action(obj, writer);
            writer.Finish();
            return(sw.ToString());
        }
Ejemplo n.º 3
0
 public string ToPrettyString()
 {
     using (var sw = new StringWriter())
     {
         var writer = new IonTextWriter(sw, new IonTextOptions {
             PrettyPrint = true
         });
         WriteTo(writer);
         writer.Finish();
         return(sw.ToString());
     }
 }
Ejemplo n.º 4
0
        public Task SerializeAsync<T>(T obj, Stream stream, IonTextOptions options)
        {
            if (!stream.CanWrite)
                throw new ArgumentException("Stream must be writable", nameof(stream));

            using (var streamWriter = new StreamWriter(stream))
            {
                var writer = new IonTextWriter(streamWriter, options);
                IonSerializationPrivate.WriteObject(writer, obj, null);
            }

            return Task.CompletedTask;
        }