IdnElement
Provides the configuration setting for International Domain Name (IDN) processing in the  Uri class.
                using System.ComponentModel;
using System.Globalization;
namespace System.Configuration
{
    public sealed class IdnElement : ConfigurationElement
    {
        private sealed class UriIdnScopeTypeConverter : TypeConverter
        {
            public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
            {
                if (sourceType == typeof(string))
                    return true;
                return base.CanConvertFrom(context, sourceType);
            }
            public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
            {
                string text = value as string;
                if (text != null) {
                    switch (text.ToLowerInvariant()) {
                    case "all":
                        return UriIdnScope.All;
                    case "none":
                        return UriIdnScope.None;
                    case "allexceptintranet":
                        return UriIdnScope.AllExceptIntranet;
                    }
                }
                return base.ConvertFrom(context, culture, value);
            }
        }
        internal const UriIdnScope EnabledDefaultValue = UriIdnScope.None;
        private readonly ConfigurationPropertyCollection _properties = new ConfigurationPropertyCollection();
        private readonly ConfigurationProperty _enabled = new ConfigurationProperty("enabled", typeof(UriIdnScope), UriIdnScope.None, new UriIdnScopeTypeConverter(), null, ConfigurationPropertyOptions.None);
        protected internal override ConfigurationPropertyCollection Properties => _properties;
        [ConfigurationProperty("enabled", DefaultValue = UriIdnScope.None)]
        public UriIdnScope Enabled {
            get {
                return (UriIdnScope)base[_enabled];
            }
            set {
                base[_enabled] = value;
            }
        }
        public IdnElement()
        {
            _properties.Add(_enabled);
        }
    }
}