/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy
Publisher: Sybex;
ISBN: 0782129110
*/
/*
Example17_4.cs illustrates the GetCustomAttributes method
*/
using System;
public class Example17_4
{
public static void Main()
{
// retrieve all attributes of Class1
Console.WriteLine("Class1 attributes: ");
object[] aAttributes = Attribute.GetCustomAttributes(
typeof(Class1));
foreach (object attr in aAttributes)
{
Console.WriteLine(attr);
}
}
}
// 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;
}
}
// declare another attribute named LifeCycle
// LifeCycle.Stage returns a string
public class LifeCycle : Attribute
{
string sStage;
public string Stage()
{
return sStage;
}
public LifeCycle(string Stage)
{
sStage = Stage;
}
}
// apply the attribues to a class
[UnitTest(true)]
[LifeCycle("Coding")]
public class Class1
{
}
|