A custom attribute based on bool value : Attribute Definition « Attribute « C# / CSharp Tutorial






using System;

public class TrueFalseAttribute : Attribute
{
  bool bWritten;

  public bool Written()
  {
    return bWritten;
  }

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

[TrueFalseAttribute(true)]
public class Class1
{
}

[TrueFalseAttribute(false)]
public class Class2
{
}

class MainClass
{
  public static void Main() 
  {
    TrueFalseAttribute u;
    Console.Write("Class1 TrueFalseAttribute attribute: ");
    u = (TrueFalseAttribute) Attribute.GetCustomAttribute(typeof(Class1), typeof(TrueFalseAttribute));
    Console.WriteLine(u.Written());
    Console.Write("Class2 TrueFalseAttribute attribute: ");
    u = (TrueFalseAttribute) Attribute.GetCustomAttribute(typeof(Class2), typeof(TrueFalseAttribute));
    Console.WriteLine(u.Written());
  }
}
Class1 TrueFalseAttribute attribute: True
Class2 TrueFalseAttribute attribute: False








10.4.Attribute Definition
10.4.1.Create Attribute
10.4.2.Attribute with supplement information
10.4.3.Positional vs. Named Parameters
10.4.4.Use a named attribute parameter.
10.4.5.Use a property as a named attribute parameter.
10.4.6.Assembly level attributes don't have to be in the assemblyinfo.cs file, but must be lised outside of any namespae definition.
10.4.7.A custom attribute based on bool value