AttributeTargets Enumerazione
TOC
Comprimi il sommario
Espandi il sommario

Enumerazione AttributeTargets

 

Specifica gli elementi dell'applicazione ai quali è valido applicare un attributo.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

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

Nome membroDescrizione
All

Attributo applicabile a tutti gli elementi dell'applicazione.

Assembly

Attributo applicabile a un assembly.

Class

Attributo applicabile a una classe.

Constructor

Attributo applicabile a un costruttore.

Delegate

Attributo applicabile a un delegato.

Enum

Attributo applicabile a un'enumerazione.

Event

Attributo applicabile a un evento.

Field

Attributo applicabile a un campo.

GenericParameter

Attributo applicabile a un parametro generico.

Interface

Attributo applicabile a un'interfaccia.

Method

Attributo applicabile a un metodo.

Module

Attributo applicabile a un modulo.

Parameter

Attributo applicabile a un parametro.

Property

Attributo applicabile a una proprietà.

ReturnValue

Attributo applicabile a un valore restituito.

Struct

L'attributo può essere applicato a una struttura, ovvero un tipo di valore.

Questa enumerazione viene utilizzata dalla classe AttributeUsageAttribute per specificare il tipo di elemento su cui è valido applicare un attributo.

I valori di enumerazione di AttributeTargets possono essere associati mediante un'operazione OR bit per bit per ottenere la combinazione desiderata.

Nell'esempio seguente viene illustrata l'applicazione di attributi a varie destinazioni.

System_CAPS_noteNota

La sintassi Visual Basic e Visual C++ attualmente non supporta l'applicazione di attributi ai parametri di 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) {
        }
    }
}

Universal Windows Platform
Disponibile da 4.5
.NET Framework
Disponibile da 1.1
Portable Class Library
Supportato in: portable .NET platforms
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra:
© 2016 Microsoft