internal ChoYamlRecordFieldConfiguration(string name, ChoYamlRecordFieldAttribute attr = null, Attribute[] otherAttrs = null) : base(name, attr, otherAttrs) { IsArray = true; FieldName = name; if (attr != null) { Order = attr.Order; YamlPath = attr.YamlPath; UseYamlSerialization = attr.UseYamlSerializationInternal; FieldName = attr.FieldName.IsNullOrWhiteSpace() ? Name.NTrim() : attr.FieldName.NTrim(); } }
internal ChoYamlRecordFieldConfiguration GetFieldConfiguration(string propertyName, ChoYamlRecordFieldAttribute attr = null, Attribute[] otherAttrs = null, PropertyDescriptor pd = null, string fqm = null, Type subType = null) { if (subType != null) { MapRecordFieldsForType(subType); var fc = new ChoYamlRecordFieldConfiguration(propertyName, attr, otherAttrs); AddFieldForType(subType, fc); return(fc); } else { if (!YamlRecordFieldConfigurations.Any(fc => fc.Name == propertyName)) { YamlRecordFieldConfigurations.Add(new ChoYamlRecordFieldConfiguration(propertyName, attr, otherAttrs)); } return(YamlRecordFieldConfigurations.First(fc => fc.Name == propertyName)); } }