Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

Attribute.IsDefined, méthode (ParameterInfo, Type, Boolean)

Détermine si des attributs personnalisés sont appliqués à un paramètre de méthode. Les paramètres spécifient le paramètre de méthode, le type de l'attribut personnalisé à rechercher, et la recherche éventuelle des ancêtres du paramètre de méthode.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)

public static bool IsDefined(
	ParameterInfo element,
	Type attributeType,
	bool inherit
)

Paramètres

element
Type : System.Reflection.ParameterInfo
Objet dérivé de la classe ParameterInfo qui décrit un paramètre d'un membre d'une classe.
attributeType
Type : System.Type
Type ou type de base de l'attribut personnalisé à rechercher.
inherit
Type : System.Boolean
Si la valeur est true, spécifie également de rechercher les ancêtres de element pour les attributs personnalisés.

Valeur de retour

Type : System.Boolean
true si un attribut personnalisé de type attributeType est appliqué à element ; sinon, false.

ExceptionCondition
ArgumentNullException

element ou attributeType est null.

ArgumentException

attributeType n'est pas dérivé de Attribute.

ExecutionEngineException

element n'est pas une méthode, un constructeur ou un type.

L'exemple de code suivant illustre l'utilisation de IsDefined, avec ParameterInfo comme paramètre.


using System;
using System.Reflection;

namespace IsDef5CS 
{
    public class TestClass 
    {
        // Assign a ParamArray attribute to the parameter using the keyword.
        public void Method1(params String[] args)
        {}
    }

    public class DemoClass 
    {
        static void Main(string[] args) 
        {
            // Get the class type to access its metadata.
            Type clsType = typeof(TestClass);
            // Get the MethodInfo object for Method1.
            MethodInfo mInfo = clsType.GetMethod("Method1");
            // Get the ParameterInfo array for the method parameters.
            ParameterInfo[] pInfo = mInfo.GetParameters();
            if (pInfo != null) 
            {
                // See if the ParamArray attribute is defined.
                bool isDef = Attribute.IsDefined(pInfo[0], 
                                                 typeof(ParamArrayAttribute));
                // Display the result.
                Console.WriteLine("The ParamArray attribute {0} defined for " +
                                  "parameter {1} of method {2}.",
                                  isDef ? "is" : "is not",
                                  pInfo[0].Name, 
                                  mInfo.Name);
            }
            else
                Console.WriteLine("The parameters information could " +
                            "not be retrieved for method {0}.", mInfo.Name);
        }
    }
}

/*
 * Output:
 * The ParamArray attribute is defined for parameter args of method Method1.
 */


.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

Afficher:
© 2014 Microsoft