Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Attribute.IsDefined (ParameterInfo, Type, Boolean)

 

Data di pubblicazione: ottobre 2016

Determina se gli attributi personalizzati vengono applicati a un parametro del metodo. I parametri specificano il tipo di attributo personalizzato per la ricerca e se eseguire la ricerca i predecessori del parametro del metodo, il parametro del metodo.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

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

Parametri

element
Type: System.Reflection.ParameterInfo

Un oggetto derivato dalla ParameterInfo classe che descrive un parametro di un membro di una classe.

attributeType
Type: System.Type

Il tipo o un tipo di base dell'attributo personalizzato per la ricerca.

inherit
Type: System.Boolean

Se true, specifica di ricercare anche i relativi predecessori element per gli attributi personalizzati.

Valore restituito

Type: System.Boolean

true Se un attributo personalizzato di tipo attributeType viene applicato a element; in caso contrario, false.

Exception Condition
ArgumentNullException

element o attributeType è null.

ArgumentException

attributeType non è derivato da Attribute.

ExecutionEngineException

element non è un metodo, un costruttore o un tipo.

Esempio di codice seguente viene illustrato l'utilizzo di IsDefined, considerando un ParameterInfo come parametro.

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
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: