Esempio n. 1
0
 private static void AddAnchoredObject(INodeEvent node, object value, ObjectAnchorCollection deserializedAnchors)
 {
     if (!string.IsNullOrEmpty(node.Anchor))
     {
         deserializedAnchors.Add(node.Anchor, value);
     }
 }
Esempio n. 2
0
        private object DeserializeValueNotNull(EventReader reader, DeserializationContext context, INodeEvent nodeEvent, Type expectedType)
        {
            Type type = GetType(nodeEvent.Tag, expectedType, context.Options.Mappings);

            if (typeof(IYamlSerializable).IsAssignableFrom(type))
            {
                return(DeserializeYamlSerializable(reader, type));
            }

            if (reader.Accept <MappingStart>())
            {
                return(DeserializeProperties(reader, type, context));
            }

            if (reader.Accept <SequenceStart>())
            {
                return(DeserializeList(reader, type, context));
            }

            if (reader.Accept <Scalar>())
            {
                return(DeserializeScalar(reader, type, context));
            }

            throw new InvalidOperationException("Expected scalar, mapping or sequence.");
        }