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 (Assembly, Type, Boolean)

 

Publicado: octubre de 2016

Determina si los atributos personalizados se aplicaron a un ensamblado. Los parámetros especifican el ensamblado, el tipo de atributo personalizado para buscar y una opción de búsqueda omitida.

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

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

Parámetros

element
Type: System.Reflection.Assembly

Objeto derivado de la clase Assembly que describe una colección reutilizable de módulos.

attributeType
Type: System.Type

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

inherit
Type: System.Boolean

Este parámetro se omite y no afecta a la operación de este método.

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.

System_CAPS_noteNota

A partir de la versión 2.0 de .NET Framework, este método devuelve true Si el ensamblado tiene atributos de seguridad almacenados en el nuevo formato de metadatos. Los ensamblados compilados con la versión 2.0 o posterior usen el nuevo formato. Ensamblados dinámicos y los ensamblados compilados con versiones anteriores de .NET Framework usan el formato XML antiguo. Consulte emitir atributos de seguridad declarativa.

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

using System;
using System.Reflection;

// Add an AssemblyDescription attribute
[assembly: AssemblyDescription("A sample description")]
namespace IsDef1CS
{
    public class DemoClass
    {
        static void Main(string[] args)
        {
            // Get the class type to access its metadata.
            Type clsType = typeof(DemoClass);
            // Get the assembly object.
            Assembly assy = clsType.Assembly;
            // Store the assembly's name.
            String assyName = assy.GetName().Name;
            // See if the Assembly Description is defined.
            bool isdef = Attribute.IsDefined(assy, 
                typeof(AssemblyDescriptionAttribute));
            if (isdef)
            {
                // Affirm that the attribute is defined.
                Console.WriteLine("The AssemblyDescription attribute " +
                    "is defined for assembly {0}.", assyName);
                // Get the description attribute itself.
                AssemblyDescriptionAttribute adAttr = 
                    (AssemblyDescriptionAttribute)Attribute.GetCustomAttribute(
                    assy, typeof(AssemblyDescriptionAttribute));
                // Display the description.
                if (adAttr != null)
                    Console.WriteLine("The description is \"{0}\".", 
                        adAttr.Description);
                else
                    Console.WriteLine("The description could not " +
                        "be retrieved.");            
            }
            else
                Console.WriteLine("The AssemblyDescription attribute is not " +
                    "defined for assembly {0}.", assyName);
        }
    }
}

/*
 * Output:
 * The AssemblyDescription attribute is defined for assembly IsDef1CS.
 * The description is "A sample description".
 */

.NET Framework
Disponible desde 1.1
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: