Esta documentación está archivada y no tiene mantenimiento.

Attribute.GetCustomAttribute (Método) (Assembly, Type)

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

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

public static Attribute GetCustomAttribute (
	Assembly element,
	Type attributeType
)
public static Attribute GetCustomAttribute (
	Assembly element, 
	Type attributeType
)
public static function GetCustomAttribute (
	element : Assembly, 
	attributeType : Type
) : Attribute

Parámetros

element

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

attributeType

Tipo, o tipo base, del atributo personalizado que se va a buscar.

Valor devuelto

Una referencia al atributo personalizado único de tipo attributeType que se aplica a element, o referencia de objeto null (Nothing en Visual Basic) si no existe dicho atributo.

Tipo de excepciónCondición

ArgumentNullException

El valor de element o de attributeType es referencia de objeto null (Nothing en Visual Basic).

ArgumentException

attributeType no se deriva de Attribute.

AmbiguousMatchException

Se ha encontrado más de un atributo de los atributos solicitados.

Utilice el método GetCustomAttributes si prevé que se va a devolver más de una valor; de lo contrario se producirá una excepción AmbiguousMatchException.

En el siguiente ejemplo de código se muestra el uso del método GetCustomAttribute tomando Assembly como 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".
 */

package IsDef1JSL; 
import System.*;
import System.Reflection.*;

// Add an AssemblyDescription attribute
/** @assembly AssemblyDescription("A sample description")
 */
class DemoClass
{
    public static void main(String[] args)
    {
        // Get the class type to access its metadata.
        Type clsType = DemoClass.class.ToType();
        // Get the assembly object.
        Assembly assy = clsType.get_Assembly();
        // Store the assembly's name.
        String assyName = assy.GetName().get_Name();
        //Type assyType = assy.GetType();
        // See if the Assembly Description is defined.
        boolean isdef = Attribute.IsDefined(assy, 
            AssemblyDescriptionAttribute.class.ToType());
        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, 
                AssemblyDescriptionAttribute.class.ToType()));
            // Display the description.
            if (adAttr != null) {
                Console.WriteLine("The description is \"{0}\".", 
                    adAttr.get_Description());
            }
            else {
                Console.WriteLine("The description could not " 
                    + "be retrieved.");
            }
        }
        else {
            Console.WriteLine("The AssemblyDescription attribute is not " 
                + "defined for assembly {0}.", assyName);
        }
    } //main
} //DemoClass

/*
   Output:
   The AssemblyDescription attributeis defined for assembly IsDef1JSL.
   The description is "A sample description".
*/

import System;
import System.Reflection;

// Add an AssemblyDescription attribute
[assembly: AssemblyDescription("A sample description")]

package IsDef1JS
{
    class DemoClass
    {
        static function Main() : void 
        {
            // Get the class type to access its metadata.
            var clsType : Type = DemoClass;
            // Get the assembly object.
            var assy : Assembly = clsType.Assembly;
            // Store the assembly's name.
            var assyName : String = assy.GetName().Name;
            //Type assyType = assy.GetType();
            // See if the Assembly Description is defined.
            var isdef : boolean = Attribute.IsDefined(assy, 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.
                var adAttr : AssemblyDescriptionAttribute = 
	                AssemblyDescriptionAttribute(Attribute.GetCustomAttribute(
	                assy, 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);
        }
    }
}

IsDef1JS.DemoClass.Main();

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

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
Mostrar: