TypeConverterAttribute.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CompMod / System / ComponentModel / TypeConverterAttribute.cs / 1 / TypeConverterAttribute.cs

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

/* 
 */ 
namespace System.ComponentModel {
    using System.Diagnostics; 
    using System.Globalization;
    using System.Runtime.Serialization.Formatters;
    using System.Security.Permissions;
 
    /// 
    ///    Specifies what type to use as 
    ///       a converter for the object 
    ///       this
    ///       attribute is bound to. This class cannot 
    ///       be inherited.
    /// 
    [AttributeUsage(AttributeTargets.All)]
    public sealed class TypeConverterAttribute : Attribute { 
        private string typeName;
 
        ///  
        ///     Specifies the type to use as
        ///       a converter for the object this attribute is bound to. This 
        ///    field is read-only. 
        /// 
        public static readonly TypeConverterAttribute Default = new TypeConverterAttribute();
 
        /// 
        ///     
        ///       Initializes a new instance of the  class with the 
        ///       default type converter, which
        ///       is an 
        ///       empty string ("").
        ///    
        /// 
        public TypeConverterAttribute() { 
            this.typeName = string.Empty;
        } 
 
        /// 
        /// Initializes a new instance of the  class, using 
        ///    the specified type as the data converter for the object this attribute
        ///    is bound
        ///    to.
        ///  
        public TypeConverterAttribute(Type type) {
            this.typeName = type.AssemblyQualifiedName; 
        } 

        ///  
        /// Initializes a new instance of the  class, using
        ///    the specified type name as the data converter for the object this attribute is bound to.
        /// 
        public TypeConverterAttribute(string typeName) { 
            string temp = typeName.ToUpper(CultureInfo.InvariantCulture);
            Debug.Assert(temp.IndexOf(".DLL") == -1, "Came across: " + typeName + " . Please remove the .dll extension"); 
            this.typeName = typeName; 
        }
 
        /// 
        /// Gets the fully qualified type name of the 
        /// to use as a converter for the object this attribute
        /// is bound to. 
        /// 
        public string ConverterTypeName { 
            get { 
                return typeName;
            } 
        }

        public override bool Equals(object obj) {
            TypeConverterAttribute other = obj as TypeConverterAttribute; 
            return (other != null) && other.ConverterTypeName == typeName;
        } 
 
        public override int GetHashCode() {
            return typeName.GetHashCode(); 
        }
    }
}
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

/* 
 */ 
namespace System.ComponentModel {
    using System.Diagnostics; 
    using System.Globalization;
    using System.Runtime.Serialization.Formatters;
    using System.Security.Permissions;
 
    /// 
    ///    Specifies what type to use as 
    ///       a converter for the object 
    ///       this
    ///       attribute is bound to. This class cannot 
    ///       be inherited.
    /// 
    [AttributeUsage(AttributeTargets.All)]
    public sealed class TypeConverterAttribute : Attribute { 
        private string typeName;
 
        ///  
        ///     Specifies the type to use as
        ///       a converter for the object this attribute is bound to. This 
        ///    field is read-only. 
        /// 
        public static readonly TypeConverterAttribute Default = new TypeConverterAttribute();
 
        /// 
        ///     
        ///       Initializes a new instance of the  class with the 
        ///       default type converter, which
        ///       is an 
        ///       empty string ("").
        ///    
        /// 
        public TypeConverterAttribute() { 
            this.typeName = string.Empty;
        } 
 
        /// 
        /// Initializes a new instance of the  class, using 
        ///    the specified type as the data converter for the object this attribute
        ///    is bound
        ///    to.
        ///  
        public TypeConverterAttribute(Type type) {
            this.typeName = type.AssemblyQualifiedName; 
        } 

        ///  
        /// Initializes a new instance of the  class, using
        ///    the specified type name as the data converter for the object this attribute is bound to.
        /// 
        public TypeConverterAttribute(string typeName) { 
            string temp = typeName.ToUpper(CultureInfo.InvariantCulture);
            Debug.Assert(temp.IndexOf(".DLL") == -1, "Came across: " + typeName + " . Please remove the .dll extension"); 
            this.typeName = typeName; 
        }
 
        /// 
        /// Gets the fully qualified type name of the 
        /// to use as a converter for the object this attribute
        /// is bound to. 
        /// 
        public string ConverterTypeName { 
            get { 
                return typeName;
            } 
        }

        public override bool Equals(object obj) {
            TypeConverterAttribute other = obj as TypeConverterAttribute; 
            return (other != null) && other.ConverterTypeName == typeName;
        } 
 
        public override int GetHashCode() {
            return typeName.GetHashCode(); 
        }
    }
}
 

// 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