예제 #1
0
 public YamlKeyElementParser(TypeSerializer <TKey> keyTypeSerializer, TypeSerializer <TElement> elementTypeSerializer)
     : base(elementTypeSerializer)
 {
     KeyTypeSerializer = keyTypeSerializer;
     KeyWriter         = KeyTypeSerializer.GetWriter();
     KeyReader         = KeyTypeSerializer.GetReader();
 }
예제 #2
0
        public YamlPropertySerializer(TypeSerializer <T> serializer, PropertyInfo property)
        {
            _writer = serializer.GetWriter();
            _reader = serializer.GetReader();

            _name = property.Name;
        }
예제 #3
0
        public YamlElementParser(TypeSerializer <TElement> elementTypeSerializer)
        {
            ElementTypeSerializer = elementTypeSerializer;
            ElementWriter         = ElementTypeSerializer.GetWriter();
            ElementReader         = ElementTypeSerializer.GetReader();

            StringReader = new YamlStringSerializer().GetReader();
        }
예제 #4
0
        public FastTextElementParser(TypeSerializer <TElement> elementTypeSerializer)
        {
            ElementTypeSerializer = elementTypeSerializer;
            ElementWriter         = ElementTypeSerializer.GetWriter();
            ElementReader         = ElementTypeSerializer.GetReader();

            StringReader = new FastTextStringSerializer().GetReader();
        }
예제 #5
0
        public TypeWriter <Type> GetWriter()
        {
            TypeWriter <Type>   typeWriter   = _typeSerializer.GetWriter();
            TypeWriter <string> stringWriter = _stringSerializer.GetWriter();

            return((value, output) =>
            {
                if (value == null)
                {
                    return;
                }

                typeWriter(value, x => stringWriter(x, output));
            });
        }
예제 #6
0
 public NullableSerializer(TypeSerializer <T> serializer)
 {
     _serializer = serializer;
     _reader     = _serializer.GetReader();
     _writer     = _serializer.GetWriter();
 }