<PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.0-preview.2.23128.3" />

ConfigurationPropertyAttribute

namespace System.Configuration { [AttributeUsage(AttributeTargets.Property)] public sealed class ConfigurationPropertyAttribute : Attribute { internal const string DefaultCollectionPropertyName = ""; public string Name { get; } public object DefaultValue { get; set; } = ConfigurationElement.s_nullPropertyValue; public ConfigurationPropertyOptions Options { get; set; } public bool IsDefaultCollection { get { return (Options & ConfigurationPropertyOptions.IsDefaultCollection) != ConfigurationPropertyOptions.None; } set { if (value) Options |= ConfigurationPropertyOptions.IsDefaultCollection; else Options &= ~ConfigurationPropertyOptions.IsDefaultCollection; } } public bool IsRequired { get { return (Options & ConfigurationPropertyOptions.IsRequired) != ConfigurationPropertyOptions.None; } set { if (value) Options |= ConfigurationPropertyOptions.IsRequired; else Options &= ~ConfigurationPropertyOptions.IsRequired; } } public bool IsKey { get { return (Options & ConfigurationPropertyOptions.IsKey) != ConfigurationPropertyOptions.None; } set { if (value) Options |= ConfigurationPropertyOptions.IsKey; else Options &= ~ConfigurationPropertyOptions.IsKey; } } public ConfigurationPropertyAttribute(string name) { Name = name; } } }