Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

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

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

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)
public static bool IsDefined(
	ParameterInfo element,
	Type attributeType,
	bool inherit
)

Parámetros

element
Tipo: System.Reflection.ParameterInfo
Objeto derivado de la clase ParameterInfo que describe un parámetro de un miembro de una clase.
attributeType
Tipo: System.Type
Tipo, o tipo base, del atributo personalizado que se va a buscar.
inherit
Tipo: System.Boolean
Si es true, especifica que se busquen también los atributos personalizados de los antecesores de element.

Valor devuelto

Tipo: System.Boolean
Es true si se aplica a element un atributo personalizado de tipo attributeType; en caso contrario, es false.
ExcepciónCondición
ArgumentNullException

El valor de element o de attributeType es null.

ArgumentException

attributeType no se deriva de Attribute.

ExecutionEngineException

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

En el siguiente ejemplo de código se muestra el uso de IsDefined tomando ParameterInfo como 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

Compatible con: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.