1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
//------------------------------------------------------------------------------
// 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 ProtocolElement : ConfigurationElement
{
// These three constructors are used by the configuration system.
public ProtocolElement() : base()
{
this.properties.Add(this.name);
}
public ProtocolElement(WebServiceProtocols protocol) : this()
{
this.Name = protocol;
}
[ConfigurationProperty("name", IsKey = true, DefaultValue = WebServiceProtocols.Unknown)]
public WebServiceProtocols Name
{
get { return (WebServiceProtocols)base[this.name]; }
set
{
if (!IsValidProtocolsValue(value))
{
value = WebServiceProtocols.Unknown;
}
base[this.name] = value;
}
}
protected override ConfigurationPropertyCollection Properties
{
get { return this.properties; }
}
bool IsValidProtocolsValue(WebServiceProtocols value)
{
return Enum.IsDefined(typeof(WebServiceProtocols), value);
}
ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection();
readonly ConfigurationProperty name = new ConfigurationProperty("name", typeof(WebServiceProtocols), WebServiceProtocols.Unknown, ConfigurationPropertyOptions.IsKey);
}
}
|