/// <summary> /// Constructs instances from config file. /// </summary> /// <param name="name"></param> /// <param name="schema"></param> /// <param name="value"></param> /// <param name="element"></param> internal ConfigurationAttribute(string name, ConfigurationAttributeSchema schema, string value, ConfigurationElement element) { _element = element; Name = name; Schema = schema; IsProtected = schema?.IsEncrypted ?? false; var clear = Decrypt(value).ToString(); var raw = Schema == null ? clear : Schema.Parse(clear); var result = TypeMatch(raw); IsInheritedFromDefaultValue = (Schema == null || !Schema.IsRequired) && result.Equals(ExtractDefaultValue()); SetValue(raw); _element.InnerEntity.SetAttributeValue(Name, value); }
/// <summary> /// Constructs instances from config file. /// </summary> /// <param name="name"></param> /// <param name="schema"></param> /// <param name="value"></param> /// <param name="element"></param> internal ConfigurationAttribute(string name, ConfigurationAttributeSchema schema, string value, ConfigurationElement element) { _element = element; Name = name; Schema = schema; IsProtected = schema?.IsEncrypted ?? false; var clear = Decrypt(value).ToString(); var raw = Schema == null ? clear : Schema.Parse(clear); var result = TypeMatch(raw); IsInheritedFromDefaultValue = (Schema == null || !Schema.IsRequired) && result.Equals(ExtractDefaultValueFromSchema()); SetValue(raw); _element.InnerEntity.SetAttributeValue(Name, value); }