public PrintingConfig <TOwner> SetSerializerFor <T>(Func <T, string> serializer) { var newConfig = new PrintingConfig <TOwner>(this); newConfig.state.AltSerializerForType = state.AltSerializerForType.AddOrUpdate(typeof(T), serializer); return(newConfig); }
public PrintingConfig <TOwner> Exclude <TExcluded>() { var newConfig = new PrintingConfig <TOwner>(this); newConfig.state.ExcludedTypes = state.ExcludedTypes.Add(typeof(TExcluded)); return(newConfig); }
public PropertyPrintingConfig(PrintingConfig <TOwner> printingConfig, Dictionary <MemberInfo, Func <object, string> > specialPrintingFunctionsForMembers, MemberInfo member) { this.printingConfig = printingConfig; this.specialPrintingFunctionsForMembers = specialPrintingFunctionsForMembers; this.member = member; }
public PrintingConfig <TOwner> Exclude <TMember>(Expression <Func <TOwner, TMember> > member) { var newConfig = new PrintingConfig <TOwner>(this); var memberInfo = ((MemberExpression)member.Body).Member; newConfig.state.ExcludedMembers = state.ExcludedMembers.Add(memberInfo); return(newConfig); }
public PropertyPrintingConfig(PrintingConfig <TOwner> config, HashSet <Type> excludeTypesInConfig, Dictionary <Type, Func <object, string> > serializationFuncsForDifferentType) { Config = config; this.excludeTypesInConfig = excludeTypesInConfig; this.serializationFuncsForDifferentType = serializationFuncsForDifferentType; }
internal PrintingConfig(PrintingConfig <TOwner> currentConfig) { customPropertyRules = currentConfig.customPropertyRules; customTypeRules = currentConfig.customTypeRules; defaultTypeRules = currentConfig.defaultTypeRules; excludedTypes = currentConfig.excludedTypes; excludedProperties = currentConfig.excludedProperties; }
public PrintingConfig <TOwner> SetSerializer(Func <TProperty, string> serializer) { var newConfig = new PrintingConfig <TOwner>(parentPrintingConfig); ((IPrintingConfig)newConfig).State.AltSerializerForMember = ((IPrintingConfig)parentPrintingConfig). State.AltSerializerForMember.AddOrUpdate(member, serializer); return(newConfig); }
private PrintingConfig(PrintingConfig <TOwner> oldPrintingConfig) { excludingTypes = oldPrintingConfig.excludingTypes; excludingMembers = oldPrintingConfig.excludingMembers; memberLengths = oldPrintingConfig.memberLengths; alternateTypeSerializers = oldPrintingConfig.alternateTypeSerializers; alternateMemberSerializers = oldPrintingConfig.alternateMemberSerializers; finalTypes = oldPrintingConfig.finalTypes; }
public PrintingConfig(PrintingConfig <TOwner> printingConfig) { excludingTypes = printingConfig.excludingTypes; excludingProperties = printingConfig.excludingProperties; typesSerializationFunctions = printingConfig.typesSerializationFunctions; numericTypesCultureInfos = printingConfig.numericTypesCultureInfos; propertiesSerializationFunctions = printingConfig.propertiesSerializationFunctions; stringMaxLength = printingConfig.stringMaxLength; }
public static PrintingConfig <TOwner> CutToLength <TOwner>( this PropertyPrintingConfig <TOwner, string> config, int maxLen) { var printingConfig = ((IPropertyPrintingConfig <TOwner, string>)config) .PrintingConfig; printingConfig = PrintingConfig <TOwner> .SetPropSerializations( printingConfig, config.PropertyName, s => ((string)s).Substring(0, Math.Min(((string)s).Length, maxLen))); return(printingConfig); }
public IPropertyPrintingConfig <TOwner> AddConfigFor <TPropType>(PrintingConfig <TOwner> printingConfig) { var type = typeof(TPropType); if (!ContainsConfigFor(type)) { printingTypesConfigs.Add(type, CreateNewConfigFor <TPropType>(printingConfig)); } return(printingTypesConfigs[type]); }
public static PrintingConfig <TOwner> Using <TOwner>( this PropertyPrintingConfig <TOwner, float> config, CultureInfo cultureInfo) { var printingConfig = ((IPropertyPrintingConfig <TOwner, float>)config) .PrintingConfig; printingConfig = PrintingConfig <TOwner> .SetTypeSerializations( printingConfig, typeof(double), o => ((float)o).ToString(cultureInfo)); return(printingConfig); }
public PrintingConfig <TOwner> SetCultureFor <T>(CultureInfo culture) where T : IFormattable { if (typeof(IFormattable).IsAssignableFrom(typeof(T))) { var newConfig = new PrintingConfig <TOwner>(this); newConfig.state.CultureForType = state.CultureForType.AddOrUpdate(typeof(T), culture); return(newConfig); } throw new ArgumentException("Невозможно установить культуру для данного типа"); }
public PrintingConfig <TOwner> Using(Func <TPropType, string> print) { if (PropertyName == null) { printingConfig = PrintingConfig <TOwner> .SetTypeSerializations( printingConfig, typeof(TPropType), o => print((TPropType)o)); } else { printingConfig = PrintingConfig <TOwner> .SetPropSerializations( printingConfig, PropertyName, o => print((TPropType)o)); } return(printingConfig); }
private IPropertyPrintingConfig <TOwner> CreateNewConfigFor <TPropType>(PrintingConfig <TOwner> printingConfig) { PropertyPrintingConfig <TOwner, TPropType> propConf; var type = typeof(TPropType); if (type == typeof(string)) { propConf = new StringPropertyConfig <TOwner, TPropType>(printingConfig); } else if (numberTypes.Contains(type)) { propConf = new NumberPropertyConfig <TOwner, TPropType>(printingConfig); } else { propConf = new PropertyPrintingConfig <TOwner, TPropType>(printingConfig); } return(propConf); }
public PropertySerializationConfig(PrintingConfig <TOwner> parentConfig) { this.parentConfig = parentConfig; }
public PropertySerializationConfig(PrintingConfig <TOwner> parentConfig, string currentName) { this.parentConfig = parentConfig; this.currentName = currentName; }
public SerializeConfig(PrintingConfig <TOwner> printingConfig, PropertyInfo property) { this.printingConfig = printingConfig; this.property = property; }
public SerializeConfig(PrintingConfig <TOwner> printingConfig, Type type) { this.printingConfig = printingConfig; this.type = type; }
public SerializeConfig(PrintingConfig <TOwner> printingConfig) { this.printingConfig = printingConfig; }
public PropertyPrintingConfig(PrintingConfig <TOwner> printingConfig, PropertyInfo propertyInfo = null) { this.printingConfig = printingConfig; this.propertyInfo = propertyInfo; }
public TypePrintingConfig(PrintingConfig <TOwner> printingConfig) { this.printingConfig = printingConfig; }
public PropertyPrintingConfig(PrintingConfig <TOwner> config) { this.config = config; }
public StringPropertyConfig(PrintingConfig <TOwner> config, PropertyInfo propertyInfo = null) : base(config, propertyInfo) { }
public SerializeConfig(PrintingConfig <TOwner> printingConfig, string propertyName) { this.printingConfig = printingConfig; this.propertyName = propertyName; }
public MemberPrintingConfig(MemberInfo member, PrintingConfig <TOwner> parentPrintingConfig) { this.member = member; this.parentPrintingConfig = parentPrintingConfig; }
public PropertyPrintingConfig(PrintingConfig <TOwner> printingConfig) { this.printingConfig = printingConfig; }
public PropertyConfig(PrintingConfig <TOwner> config, PropertyInfo info) { printingConfig = config; propInfo = info; }
public PropertyPrintingConfig(PrintingConfig <TOwner> printingConfig, Expression <Func <TOwner, TPropType> > memberSelector = null) { this.printingConfig = printingConfig; this.memberSelector = memberSelector; }
public PropertyPrintingConfig(PrintingConfig <TOwner> printingConfig, string property = null) { this.printingConfig = printingConfig; PropertyName = property; }