示例#1
0
        private bool TryGetValueByYamlKeyAndType(YamlScalarNode yamlKey, Type type, out object result)
        {
            if (mappingNode.Children.ContainsKey(yamlKey))
            {
                var value = mappingNode.Children[yamlKey];
                if (YamlDoc.TryMapValue(value, out result))
                {
                    return(true);
                }
            }

            return(FailToGetValue(out result));
        }
示例#2
0
        private bool TryGetValueByYamlKeyAndType(YamlScalarNode yamlKey, Type type, out object result)
        {
            if (mappingNode.Children.ContainsKey(yamlKey))
            {
                var value = mappingNode.Children[yamlKey];
                if (YamlDoc.TryMapValue(value, out result))
                {
                    return(true);
                }
            }

            return(IsNullableType(type) ? SuccessfullyGetValue(new DynamicYaml((YamlNode)null), out result) : FailToGetValue(out result));
        }
示例#3
0
        private bool TryGetValueByIndex(int index, out object result)
        {
            if (sequenceNode == null)
            {
                return(FailToGetValue(out result));
            }

            if (index >= sequenceNode.Count())
            {
                throw new IndexOutOfRangeException();
            }

            return(YamlDoc.TryMapValue(sequenceNode.ToArray()[index], out result));
        }
示例#4
0
 public DynamicYaml(string yaml)
     : this(YamlDoc.LoadFromString(yaml))
 {
 }
示例#5
0
 public DynamicYaml(TextReader reader)
     : this(YamlDoc.LoadFromTextReader(reader))
 {
 }
示例#6
0
 public void Reload(string yaml)
 {
     Reload(YamlDoc.LoadFromString(yaml));
 }
示例#7
0
 public void Reload(TextReader reader)
 {
     Reload(YamlDoc.LoadFromTextReader(reader));
 }