<PackageReference Include="System.Configuration.ConfigurationManager" Version="5.0.0-preview.1.20120.5" />

IdnElement

public sealed class IdnElement : ConfigurationElement
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 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); } } }