Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Attribute.IsDefined (ParameterInfo, Type, Boolean)

 

Publicado: octubre de 2016

Determina si los atributos personalizados se aplican a un parámetro de método. Los parámetros especifican el parámetro de método, el tipo de atributo personalizado para buscar y si se deben buscar los antecesores del parámetro del método.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

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

Parámetros

element
Type: System.Reflection.ParameterInfo

Un objeto derivado de la ParameterInfo clase que describe un parámetro de un miembro de una clase.

attributeType
Type: System.Type

El tipo o un tipo base, del atributo personalizado para buscar.

inherit
Type: System.Boolean

Si true, especifica que se busquen también los antecesores de element para los atributos personalizados.

Valor devuelto

Type: System.Boolean

true Si un atributo personalizado de tipo attributeType se aplica a element; en caso contrario, false.

Exception Condition
ArgumentNullException

El valor de element o attributeType es null.

ArgumentException

attributeType no se derive de Attribute.

ExecutionEngineException

element no es un método, constructor o tipo.

En el ejemplo de código siguiente se muestra el uso de IsDefined, teniendo un ParameterInfo como un parámetro.

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
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: