StringValidatorAttribute ConfigurationProperty e DefaultValue
se come me amate fare una sezione di configurazione custom per ogni tipo di impostazione, fate attenzione quando decorare una proprietà con StringValidatorAttribute, in particolare quando specificate la lunghezza minima di una stringa impostando la proprietà MinLength.
a causa del particolare sistema di parserizzazione del file di configurazione e inizializzazione degli oggetti "nati" da questo processo, la validazione è destinata a fallire miseramente se non si specifica mediante l'attributo ConfigurationProperty un valore predefinito che soddisfi i requisiti di validazione.
[ConfigurationProperty("Type",DefaultValue = "object")]
[StringValidator(InvalidCharacters = "~!-@#$%^&*(){}/;'\"|\\", MinLength= 1, MaxLength = 60)]
public string Type
{
get
{
return (string)base["Type"];
}
}











