HandlerElement.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Xaml.Hosting / System / Xaml / Hosting / Configuration / HandlerElement.cs / 1458001 / HandlerElement.cs

                            //------------------------------------------------------------------------------ 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//-----------------------------------------------------------------------------

namespace System.Xaml.Hosting.Configuration 
{
    using System; 
    using System.Web; 
    using System.Configuration;
    using System.Diagnostics.CodeAnalysis; 
    using System.Runtime;

    public sealed class HandlerElement : ConfigurationElement
    { 
        static ConfigurationPropertyCollection properties = InitializeProperties();
 
        Type httpHandlerCLRType; 

        Type xamlRootElementClrType; 

        static ConfigurationPropertyCollection InitializeProperties()
        {
            ConfigurationProperty handler = new ConfigurationProperty(XamlHostingConfiguration.HttpHandlerType, typeof(string), " ", null, new StringValidator(1), ConfigurationPropertyOptions.IsRequired); 
            ConfigurationProperty xamlRoot = new ConfigurationProperty(XamlHostingConfiguration.XamlRootElementType, typeof(string), " ", null, new StringValidator(1), ConfigurationPropertyOptions.IsKey | ConfigurationPropertyOptions.IsRequired);
            ConfigurationPropertyCollection tempProperties = new ConfigurationPropertyCollection(); 
            tempProperties.Add(xamlRoot); 
            tempProperties.Add(handler);
            return tempProperties; 
        }

        public HandlerElement()
        { 
        }
 
        [SuppressMessage(FxCop.Category.Usage, FxCop.Rule.DoNotCallOverridableMethodsInConstructors, 
            Justification = "This is enforced by configuration classes in framework library")]
        public HandlerElement(string xamlType, string handlerType) 
        {
            XamlRootElementType = xamlType;
            HttpHandlerType = handlerType;
        } 

        [ConfigurationProperty(XamlHostingConfiguration.HttpHandlerType, DefaultValue = " ", 
            Options = ConfigurationPropertyOptions.IsRequired)] 
        [StringValidator(MinLength = 1)]
        public string HttpHandlerType 
        {
            get
            {
                return (string)base[XamlHostingConfiguration.HttpHandlerType]; 
            }
            set 
            { 
                if (string.IsNullOrEmpty(value))
                { 
                    value = string.Empty;
                }
                base[XamlHostingConfiguration.HttpHandlerType] = value;
            } 
        }
 
        [ConfigurationProperty(XamlHostingConfiguration.XamlRootElementType, DefaultValue = " ", 
            Options = ConfigurationPropertyOptions.IsKey | ConfigurationPropertyOptions.IsRequired)]
        [StringValidator(MinLength = 1)] 
        public string XamlRootElementType
        {
            get
            { 
                return (string)base[XamlHostingConfiguration.XamlRootElementType];
            } 
            set 
            {
                if (string.IsNullOrEmpty(value)) 
                {
                    value = string.Empty;
                }
                base[XamlHostingConfiguration.XamlRootElementType] = value; 
            }
        } 
 
        internal string Key
        { 
            get
            {
                return XamlRootElementType;
            } 
        }
 
        protected override ConfigurationPropertyCollection Properties 
        {
            get 
            {
                return properties;
            }
        } 

        internal Type LoadHttpHandlerType() 
        { 
            if (this.httpHandlerCLRType == null)
            { 
                this.httpHandlerCLRType = Type.GetType(HttpHandlerType, true);
            }
            return this.httpHandlerCLRType;
        } 

 
        internal Type LoadXamlRootElementType() 
        {
            if (this.xamlRootElementClrType == null) 
            {
                this.xamlRootElementClrType = Type.GetType(XamlRootElementType, true);
            }
            return this.xamlRootElementClrType; 
        }
    } 
} 


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK