/// <inheritdoc/> public IDecideTypesForStrings Clone() { IDecideTypesForStrings clone = CloneImpl(Culture); clone.Settings = Settings.Clone(); return(clone); }
/// <summary> /// Initializes a new factory and populates decider <see cref="Dictionary"/> /// </summary> /// <param name="culture"></param> public TypeDeciderFactory(CultureInfo culture) { Settings = new GuessSettingsFactory().Create(); var deciders = new IDecideTypesForStrings[] { new BoolTypeDecider(culture) { Settings = Settings }, new IntTypeDecider(culture) { Settings = Settings }, new DecimalTypeDecider(culture) { Settings = Settings }, new NeverGuessTheseTypeDecider(culture) { Settings = Settings }, new TimeSpanTypeDecider(culture) { Settings = Settings }, new DateTimeTypeDecider(culture) { Settings = Settings }, }; foreach (IDecideTypesForStrings decider in deciders) { foreach (Type type in decider.TypesSupported) { Dictionary.Add(type, decider); } } }
/// <summary> /// Initializes a new factory and populates decider <see cref="Dictionary"/> /// </summary> public TypeDeciderFactory() { var deciders = new IDecideTypesForStrings[] { new BoolTypeDecider(), new IntTypeDecider(), new DecimalTypeDecider(), new NeverGuessTheseTypeDecider(), new TimeSpanTypeDecider(), new DateTimeTypeDecider(), }; foreach (IDecideTypesForStrings decider in deciders) { foreach (Type type in decider.TypesSupported) { Dictionary.Add(type, decider); } } }