Retrieving a Specific Attribute and Checking Its Initialization : Attribute « Attribute « C# / CSharp Tutorial






using System;
using System.Reflection;
public class CommandLineSwitchAliasAttribute : Attribute
{
    public CommandLineSwitchAliasAttribute(string alias)
    {
        Alias = alias;
    }
    public string Alias
    {
        get { return _Alias; }
        set { _Alias = value; }
    }
    private string _Alias;
}
class CommandLineInfo
{
    [CommandLineSwitchAliasAttribute("?")]
    public bool Help
    {
        get { return _Help; }
        set { _Help = value; }
    }
    private bool _Help;

}


class MainClass
{
    static void Main()
    {
        PropertyInfo property = typeof(CommandLineInfo).GetProperty("Help");
        CommandLineSwitchAliasAttribute attribute = (CommandLineSwitchAliasAttribute)property.GetCustomAttributes(typeof(CommandLineSwitchAliasAttribute), false)[0];
        if (attribute.Alias == "?")
        {
            Console.WriteLine("Help(?)");
        };
    }
}








10.1.Attribute
10.1.1.Use Attributes to mark a method
10.1.2.Assembly-Level Attributes
10.1.3.Custom Attributes
10.1.4.Providing an Attribute Constructor
10.1.5.Retrieving a Specific Attribute and Checking Its Initialization
10.1.6.Saving a Document Using System.SerializableAttribute