AttributeUsageAttribute.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 / clr / src / BCL / System / AttributeUsageAttribute.cs / 1 / 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 */
    [AttributeUsage(AttributeTargets.Class, Inherited = true),Serializable()] 
[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 */
    [AttributeUsage(AttributeTargets.Class, Inherited = true),Serializable()] 
[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