Get an array of the custom attributes applied to a method parameter. : Attributes « Reflection « C# / C Sharp






Get an array of the custom attributes applied to a method parameter.

  
    using System;
    using System.Reflection;
    using System.ComponentModel;

    public class AClass {
        public void ParamArrayAndDesc(
            [Description("This argument is a ParamArray")]
            params int[] args)
        {}
    }

    class DemoClass {
        static void Main(string[] args) {
            Type clsType = typeof(AClass);
            MethodInfo mInfo = clsType.GetMethod("ParamArrayAndDesc");
            if (mInfo != null) {
                ParameterInfo[] pInfo = mInfo.GetParameters();
                if (pInfo != null) {
                    foreach(Attribute attr in Attribute.GetCustomAttributes(pInfo[0])) {
                        if (attr.GetType() == typeof(ParamArrayAttribute))
                            Console.WriteLine("Parameter {0} for method {1} has the ParamArray attribute.",pInfo[0].Name, mInfo.Name);
                        else if (attr.GetType() == typeof(DescriptionAttribute)) {
                            Console.WriteLine("Parameter {0} for method {1} has a description attribute.",pInfo[0].Name, mInfo.Name);
                            Console.WriteLine("The description is: \"{0}\"",((DescriptionAttribute)attr).Description);
                        }
                    }
                }
            }
        }
    }

   
    
  








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.Attribute.IsDefaultAttribute
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