File: System\Web\Services\Configuration\WsiProfilesElement.cs
Project: ndp\cdf\src\NetFx20\System.Web.Services\System.Web.Services.csproj (System.Web.Services)
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation.  All rights reserved.
//------------------------------------------------------------------------------
 
namespace System.Web.Services.Configuration
{
    using System;
    using System.Configuration;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.Globalization;
    using System.Security.Permissions;
 
    public sealed class WsiProfilesElement : ConfigurationElement
    {
        // These three constructors are used by the configuration system. 
        public WsiProfilesElement() : base()
        {
            this.properties.Add(this.name);
        }
 
        public WsiProfilesElement(WsiProfiles name) : this()
        {
            this.Name = name;
        }
 
        [ConfigurationProperty("name", IsKey = true, DefaultValue = WsiProfiles.None)]
        public WsiProfiles Name
        {
            get { return (WsiProfiles)base[this.name]; }
            set 
            { 
                if (!IsValidWsiProfilesValue(value))
                {
                    throw new ArgumentOutOfRangeException("value");
                }
                base[this.name] = value;
            }
        }
        protected override ConfigurationPropertyCollection Properties
        {
            get { return this.properties; }
        }
 
        bool IsValidWsiProfilesValue(WsiProfiles value)
        {
            return Enum.IsDefined(typeof(WsiProfiles), value);
        }
 
        ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection();
        readonly ConfigurationProperty name = new ConfigurationProperty("name", typeof(WsiProfiles), WsiProfiles.None, ConfigurationPropertyOptions.IsKey);
    }
}