How to create a custom attribute : Attribute « Language Basics « C# / C Sharp






How to create a custom attribute

How to create a custom attribute
/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy

Publisher: Sybex;
ISBN: 0782129110
*/

/*
  Example17_3.cs shows how to create a custom attribute
*/

using System;


public class Example17_3 
{

    public static void Main() 
    {

        UnitTest u;

        // retrieve and display the UnitTest attributes of the classes
        Console.Write("Class1 UnitTest attribute: ");
        u = (UnitTest) Attribute.GetCustomAttribute(
            typeof(Class1), typeof(UnitTest));
        Console.WriteLine(u.Written());
        Console.Write("Class2 UnitTest attribute: ");
        u = (UnitTest) Attribute.GetCustomAttribute(
            typeof(Class2), typeof(UnitTest));
        Console.WriteLine(u.Written());

    }

}


// declare an attribute named UnitTest
// UnitTest.Written is either true or false
public class UnitTest : Attribute
{
    bool bWritten;

    public bool Written()
    {
        return bWritten;
    }

    public UnitTest(bool Written)
    {
        bWritten = Written;
    }
}

// apply the UnitTest attribute to two classes
[UnitTest(true)]
public class Class1
{
}

[UnitTest(false)]
public class Class2
{
}




           
       








Related examples in the same category

1.Subclass System.Attribute
2.A simple attribute exampleA simple attribute example
3.Use a named attribute parameterUse a named attribute parameter
4.Creating and using a class attribute.
5.Attribute in class inheritance
6.Defining New Attribute Classes
7.Use AttributeUsage
8.Use a property as a named attribute parameterUse a property as a named attribute parameter
9.Demonstrate the Conditional attributeDemonstrate the Conditional attribute
10.Define contant and use it in Conditional attribute
11.Demonstrate the Obsolete attributeDemonstrate the Obsolete attribute
12.Illustrates use of the Obsolete attribute
13.Compiles into a library defining the RamdomSupplier attribute and the RandomMethod attribute
14.Shows the use of assembly attributes
15.Illustrates use of the Conditional attributeIllustrates use of the Conditional attribute
16.Illustrates the GetCustomAttributes methodIllustrates the GetCustomAttributes method
17.demonstrates the flags attribute of an enumeration