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

 

Publicado: octubre de 2016

Recupera un atributo personalizado aplicado a un ensamblado especificado. Los parámetros especifican el ensamblado y el tipo del atributo personalizado que se buscará.

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

public static Attribute GetCustomAttribute(
	Assembly element,
	Type attributeType
)

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 que se buscará.

Valor devuelto

Type: System.Attribute

Una referencia al atributo personalizado único de tipo attributeType que se aplica a element, o null si no hay ningún atributo de este tipo.

Exception Condition
ArgumentNullException

El valor de element o attributeType es null.

ArgumentException

attributeTypeno se deriva de Attribute.

AmbiguousMatchException

Se encontró más de uno de los atributos solicitados.

Use la GetCustomAttributes método si espera que más de un valor al que se va a devolver, o AmbiguousMatchException se iniciará.

System_CAPS_noteNota

A partir de la versión 2.0 de .NET Framework, este método devuelve los atributos de seguridad si los atributos se almacenan en el nuevo formato de metadatos. Los ensamblados compilados con la versión 2.0 o posterior, usan el nuevo formato. Ensamblados dinámicos y los ensamblados compilados con versiones anteriores de .NET Framework usan el formato XML antiguo. Vea emitir atributos de seguridad declarativa.

En el ejemplo de código siguiente se muestra el uso de la GetCustomAttribute tomar método 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
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: