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

Enumeración AttributeTargets

 

Publicado: octubre de 2016

Especifica los elementos de aplicación en los que se permite aplicar un atributo.

Esta enumeración tiene un atributo FlagsAttribute que permite una combinación bit a bit de sus valores de miembro.

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

[SerializableAttribute]
[FlagsAttribute]
[ComVisibleAttribute(true)]
public enum AttributeTargets

Nombre de miembroDescripción
All

Atributo se puede aplicar a cualquier elemento de la aplicación.

Assembly

Atributo se puede aplicar a un ensamblado.

Class

Atributo se puede aplicar a una clase.

Constructor

Atributo se puede aplicar a un constructor.

Delegate

Atributo se puede aplicar a un delegado.

Enum

Atributo se puede aplicar a una enumeración.

Event

Atributo se puede aplicar a un evento.

Field

Atributo se puede aplicar a un campo.

GenericParameter

Atributo se puede aplicar a un parámetro genérico.

Interface

Atributo se puede aplicar a una interfaz.

Method

Atributo se puede aplicar a un método.

Module

Atributo se puede aplicar a un módulo.

Parameter

Atributo se puede aplicar a un parámetro.

Property

Atributo se puede aplicar a una propiedad.

ReturnValue

Atributo se puede aplicar a un valor devuelto.

Struct

Atributo se puede aplicar a una estructura; es decir, un tipo de valor.

La AttributeUsageAttribute clase utiliza esta enumeración para especificar el tipo de elemento en el que se le puede aplicar un atributo.

AttributeTargetsvalores de enumeración se pueden combinar con una operación OR bit a bit para obtener la combinación preferida.

En el ejemplo siguiente se muestra la aplicación de atributos en función del destino.

System_CAPS_noteNota

Actualmente la sintaxis de Visual C++ y Visual Basic son compatibles con la aplicación de atributos a parámetros de tipo.

using System;

namespace AttTargsCS {
    // This attribute is only valid on a class.
    [AttributeUsage(AttributeTargets.Class)]
    public class ClassTargetAttribute : Attribute {
    }

    // This attribute is only valid on a method.
    [AttributeUsage(AttributeTargets.Method)]
    public class MethodTargetAttribute : Attribute {
    }

    // This attribute is only valid on a constructor.
    [AttributeUsage(AttributeTargets.Constructor)]
    public class ConstructorTargetAttribute : Attribute {
    }

    // This attribute is only valid on a field.
    [AttributeUsage(AttributeTargets.Field)]
    public class FieldTargetAttribute : Attribute {
    }

    // This attribute is valid on a class or a method.
    [AttributeUsage(AttributeTargets.Class|AttributeTargets.Method)]
    public class ClassMethodTargetAttribute : Attribute {
    }

    // This attribute is valid on a generic type parameter.
    [AttributeUsage(AttributeTargets.GenericParameter)]
    public class GenericParameterTargetAttribute : Attribute {
    }

    // This attribute is valid on any target.
    [AttributeUsage(AttributeTargets.All)]
    public class AllTargetsAttribute : Attribute {
    }

    [ClassTarget]
    [ClassMethodTarget]
    [AllTargets]
    public class TestClassAttribute {
        [ConstructorTarget]
        [AllTargets]
        TestClassAttribute() {
        }

        [MethodTarget]
        [ClassMethodTarget]
        [AllTargets]
        public void Method1() {
        }

        [FieldTarget]
        [AllTargets]
        public int myInt;

        public void GenericMethod<
            [GenericParameterTarget, AllTargets] T>(T x) {
        }

        static void Main(string[] args) {
        }
    }
}

Plataforma universal de Windows
Disponible desde 8
.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
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: