/// <inheritdoc />
        protected override void PropertyInitializer(PropertyInfo propertyInfo)
        {
            base.PropertyInitializer(propertyInfo);

            var iniValue = new IniValue(this, propertyInfo)
            {
                IniPropertyName  = propertyInfo.GetDataMemberName() ?? propertyInfo.Name,
                EmitDefaultValue = propertyInfo.GetEmitDefaultValue(),
                Description      = propertyInfo.GetDescription(),
                Converter        = propertyInfo.GetTypeConverter(),
                Category         = propertyInfo.GetCategory(),
                Behavior         = propertyInfo.GetIniPropertyBehavior(),
                DefaultValue     = propertyInfo.GetDefaultValue()
            };

            if (!iniValue.Behavior.IsIgnoreErrorsSet && _iniSectionAttribute != null)
            {
                iniValue.Behavior.IgnoreErrors = _iniSectionAttribute.IgnoreErrors;
            }
            _iniValues[iniValue.PropertyName] = iniValue;
        }
 /// <inheritdoc />
 public bool TryGetIniValue(string propertyName, out IniValue value)
 {
     return(_iniValues.TryGetValue(propertyName, out value));
 }