private static INamingConvention GetNamingConvention(NamingConvention namingConvention) { INamingConvention target; switch (namingConvention) { case NamingConvention.Camel: target = new CamelCaseNamingConvention(); break; case NamingConvention.Hyphenated: target = new HyphenatedNamingConvention(); break; case NamingConvention.Pascal: target = new PascalCaseNamingConvention(); break; case NamingConvention.Underscored: target = new UnderscoredNamingConvention(); break; case NamingConvention.Null: target = new NullNamingConvention(); break; default: throw new NotImplementedException(namingConvention.ToString()); } return(target); }
public Deserializer(IObjectFactory objectFactory = null, INamingConvention namingConvention = null, bool ignoreUnmatched = false, YamlAttributeOverrides overrides = null) { objectFactory = objectFactory ?? new DefaultObjectFactory(); INamingConvention convention1 = namingConvention; if (namingConvention == null) { INamingConvention local2 = namingConvention; convention1 = new NullNamingConvention(); } namingConvention = convention1; this.typeDescriptor.TypeDescriptor = new CachedTypeInspector(new YamlAttributesTypeInspector(new YamlAttributeOverridesInspector(new NamingConventionTypeInspector(new ReadableAndWritablePropertiesTypeInspector(new ReadablePropertiesTypeInspector(new StaticTypeResolver())), namingConvention), overrides))); this.converters = new List <IYamlTypeConverter>(); foreach (IYamlTypeConverter converter in YamlTypeConverters.GetBuiltInConverters(false)) { this.converters.Add(converter); } this.NodeDeserializers = new List <INodeDeserializer>(); this.NodeDeserializers.Add(new TypeConverterNodeDeserializer(this.converters)); this.NodeDeserializers.Add(new NullNodeDeserializer()); this.NodeDeserializers.Add(new ScalarNodeDeserializer()); this.NodeDeserializers.Add(new ArrayNodeDeserializer()); this.NodeDeserializers.Add(new DictionaryNodeDeserializer(objectFactory)); this.NodeDeserializers.Add(new CollectionNodeDeserializer(objectFactory)); this.NodeDeserializers.Add(new EnumerableNodeDeserializer()); this.NodeDeserializers.Add(new ObjectNodeDeserializer(objectFactory, this.typeDescriptor, ignoreUnmatched)); this.tagMappings = new Dictionary <string, Type>(predefinedTagMappings); this.TypeResolvers = new List <INodeTypeResolver>(); this.TypeResolvers.Add(new TagNodeTypeResolver(this.tagMappings)); this.TypeResolvers.Add(new TypeNameInTagNodeTypeResolver()); this.TypeResolvers.Add(new DefaultContainersNodeTypeResolver()); this.valueDeserializer = new AliasValueDeserializer(new NodeValueDeserializer(this.NodeDeserializers, this.TypeResolvers)); }
public static IDeserializer Create(INamingConvention namingConvention = null) { if (namingConvention == null) { namingConvention = new NullNamingConvention(); } return(new DeserializerBuilder() .WithNamingConvention(namingConvention) .IgnoreUnmatchedProperties() .Build()); }
public Serializer(SerializationOptions options = 0, INamingConvention namingConvention = null, YamlAttributeOverrides overrides = null) { this.options = options; INamingConvention convention1 = namingConvention; if (namingConvention == null) { INamingConvention local1 = namingConvention; convention1 = new NullNamingConvention(); } this.namingConvention = convention1; this.overrides = overrides; this.Converters = new List <IYamlTypeConverter>(); foreach (IYamlTypeConverter converter in YamlTypeConverters.GetBuiltInConverters(this.IsOptionSet(SerializationOptions.JsonCompatible))) { this.Converters.Add(converter); } this.typeResolver = !this.IsOptionSet(SerializationOptions.DefaultToStaticType) ? ((ITypeResolver) new DynamicTypeResolver()) : ((ITypeResolver) new StaticTypeResolver()); }