Attribute.IsDefaultAttribute : Attributes « Reflection « C# / C Sharp






Attribute.IsDefaultAttribute

  
    using System;
    using System.Reflection;

    public enum Animal 
    {
        Dog = 1,
        Cat,
        Bird,
    }
    public class AnimalTypeAttribute : Attribute 
    {
        public AnimalTypeAttribute(Animal pet) 
        {
            thePet = pet;
        }
        public AnimalTypeAttribute() 
        {
            thePet = Animal.Dog;
        }
        protected Animal thePet;
        public Animal Pet 
        {
            get { return thePet; }
            set { thePet = Pet; }
        }
        public override bool IsDefaultAttribute() 
        {
            if (thePet == Animal.Dog)
                return true;

            return false;
        }
    }

    public class TestClass 
    {
        [AnimalType]
        public void Method1()
        {}
    }

    class DemoClass 
    {
        static void Main(string[] args) 
        {
            Type clsType = typeof(TestClass);
            MethodInfo mInfo = clsType.GetMethod("Method1");
            AnimalTypeAttribute atAttr = (AnimalTypeAttribute)Attribute.GetCustomAttribute(mInfo,typeof(AnimalTypeAttribute));
            Console.WriteLine("The attribute {0} for method {1} in class {2}",atAttr.Pet, mInfo.Name, clsType.Name); 
            Console.WriteLine("{0} the default for the AnimalType attribute.",atAttr.IsDefaultAttribute() ? "is" : "is not");
        }
    }

   
    
  








Related examples in the same category

1.Use GetCustomAttribute
2.Attributes:Reflecting on AttributesAttributes:Reflecting on Attributes
3.Displaying attributes for a class.
4.Specifies flags that describe the attributes of a field.Specifies flags that describe the attributes of a field.
5.Defines a company name custom attribute for an assembly manifest.
6.Defines a copyright custom attribute for an assembly manifest.
7.Represents the base class for custom attributes.
8.Retrieves a custom attribute applied to a specified assembly.
9.Retrieves a custom attribute applied to a member of a type.
10.Get a custom attribute applied to a member of a type.
11.Get an array of the custom attributes applied to an assembly. A parameter specifies the assembly.
12.Get an array of the custom attributes applied to a method parameter.
13.Attribute.IsDefined
14.Determines whether any custom attributes are applied to an assembly.
15.Determines whether any custom attributes are applied to a member of a type.
16.Determines whether any custom attributes of a specified type are applied to a module.
17.Determines whether any custom attributes are applied to a method parameter.
18.Indicates to compilers that a method call or attribute should be ignored unless a specified conditional compilation symbol is defined.
19.Get member attribute
20.Attributed Types Utility
21.Retrieve Method Attribute Only
22.Retrieve Field Attribute List
23.Get Types With Attribute
24.Get Methods With Attribute
25.Get attribute value and convert to other type