| File: System\Configuration\SettingElement.cs | Web Access |
| Project: src\runtime\src\libraries\System.Configuration.ConfigurationManager\src\System.Configuration.ConfigurationManager.csproj (System.Configuration.ConfigurationManager) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Xml; namespace System.Configuration { public sealed class SettingElement : ConfigurationElement { private static readonly ConfigurationProperty s_propName = new ConfigurationProperty( "name", typeof(string), "", ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey); private static readonly ConfigurationProperty s_propSerializeAs = new ConfigurationProperty( "serializeAs", typeof(SettingsSerializeAs), SettingsSerializeAs.String, ConfigurationPropertyOptions.IsRequired); private static readonly ConfigurationProperty s_propValue = new ConfigurationProperty( "value", typeof(SettingValueElement), null, ConfigurationPropertyOptions.IsRequired); private static readonly ConfigurationPropertyCollection s_properties = new ConfigurationPropertyCollection() { s_propName, s_propSerializeAs, s_propValue }; public SettingElement() { } public SettingElement(string name, SettingsSerializeAs serializeAs) : this() { Name = name; SerializeAs = serializeAs; } internal string Key { get { return Name; } } public override bool Equals(object settings) { SettingElement element = settings as SettingElement; return (element != null && base.Equals(settings) && Equals(element.Value, Value)); } public override int GetHashCode() { return base.GetHashCode() ^ Value.GetHashCode(); } protected internal override ConfigurationPropertyCollection Properties { get { return s_properties; } } [ConfigurationProperty("name", IsRequired = true, IsKey = true, DefaultValue = "")] public string Name { get { return (string)base[s_propName]; } set { base[s_propName] = value; } } [ConfigurationProperty("serializeAs", IsRequired = true, DefaultValue = SettingsSerializeAs.String)] public SettingsSerializeAs SerializeAs { get { return (SettingsSerializeAs)base[s_propSerializeAs]; } set { base[s_propSerializeAs] = value; } } [ConfigurationProperty("value", IsRequired = true, DefaultValue = null)] public SettingValueElement Value { get { return (SettingValueElement)base[s_propValue]; } set { base[s_propValue] = value; } } } }