AttributeUsageAttribute.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / AttributeUsageAttribute.cs / 1305376 / AttributeUsageAttribute.cs

                            // ==++== 
//
//   Copyright (c) Microsoft Corporation.  All rights reserved.
//
// ==--== 
/*============================================================
** 
** Class:  AttributeUsageAttribute 
**
** 
** Purpose: The class denotes how to specify the usage of an attribute
**
**
===========================================================*/ 
namespace System {
 
    using System.Reflection; 
    /* By default, attributes are inherited and multiple attributes are not allowed */
[Serializable] 
    [AttributeUsage(AttributeTargets.Class, Inherited = true)]
[System.Runtime.InteropServices.ComVisible(true)]
    public sealed class AttributeUsageAttribute : Attribute
    { 
        internal AttributeTargets m_attributeTarget = AttributeTargets.All; // Defaults to all
        internal bool m_allowMultiple = false; // Defaults to false 
        internal bool m_inherited = true; // Defaults to true 

        internal static AttributeUsageAttribute Default = new AttributeUsageAttribute(AttributeTargets.All); 

       //Constructors
        public AttributeUsageAttribute(AttributeTargets validOn) {
            m_attributeTarget = validOn; 
        }
       internal AttributeUsageAttribute(AttributeTargets validOn, bool allowMultiple, bool inherited) { 
           m_attributeTarget = validOn; 
           m_allowMultiple = allowMultiple;
           m_inherited = inherited; 
       }


       //Properties 
        public AttributeTargets ValidOn
        { 
           get{ return m_attributeTarget; } 
        }
 
        public bool AllowMultiple
        {
            get { return m_allowMultiple; }
            set { m_allowMultiple = value; } 
        }
 
        public bool Inherited 
        {
            get { return m_inherited; } 
            set { m_inherited = value; }
        }
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++== 
//
//   Copyright (c) Microsoft Corporation.  All rights reserved.
//
// ==--== 
/*============================================================
** 
** Class:  AttributeUsageAttribute 
**
** 
** Purpose: The class denotes how to specify the usage of an attribute
**
**
===========================================================*/ 
namespace System {
 
    using System.Reflection; 
    /* By default, attributes are inherited and multiple attributes are not allowed */
[Serializable] 
    [AttributeUsage(AttributeTargets.Class, Inherited = true)]
[System.Runtime.InteropServices.ComVisible(true)]
    public sealed class AttributeUsageAttribute : Attribute
    { 
        internal AttributeTargets m_attributeTarget = AttributeTargets.All; // Defaults to all
        internal bool m_allowMultiple = false; // Defaults to false 
        internal bool m_inherited = true; // Defaults to true 

        internal static AttributeUsageAttribute Default = new AttributeUsageAttribute(AttributeTargets.All); 

       //Constructors
        public AttributeUsageAttribute(AttributeTargets validOn) {
            m_attributeTarget = validOn; 
        }
       internal AttributeUsageAttribute(AttributeTargets validOn, bool allowMultiple, bool inherited) { 
           m_attributeTarget = validOn; 
           m_allowMultiple = allowMultiple;
           m_inherited = inherited; 
       }


       //Properties 
        public AttributeTargets ValidOn
        { 
           get{ return m_attributeTarget; } 
        }
 
        public bool AllowMultiple
        {
            get { return m_allowMultiple; }
            set { m_allowMultiple = value; } 
        }
 
        public bool Inherited 
        {
            get { return m_inherited; } 
            set { m_inherited = value; }
        }
    }
} 

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