Attribute Sınıf

Tanım

Özel özniteliklerin temel sınıfını temsil eder.Represents the base class for custom attributes.

public ref class Attribute abstract : System::Runtime::InteropServices::_Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
public abstract class Attribute : System.Runtime.InteropServices._Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
public abstract class Attribute : System.Runtime.InteropServices._Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public abstract class Attribute : System.Runtime.InteropServices._Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
[System.Serializable]
public abstract class Attribute : System.Runtime.InteropServices._Attribute
type Attribute = class
    interface _Attribute
Public MustInherit Class Attribute
Implements _Attribute
Devralma
Attribute
Türetilmiş
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki kod örneği Attributekullanımını gösterir.The following code example demonstrates the usage of Attribute.

using namespace System;
using namespace System::Reflection;

// An enumeration of animals. Start at 1 (0 = uninitialized).
public enum class Animal
{
    // Pets.
    Dog = 1,
    Cat, Bird
};

// A custom attribute to allow a target to have a pet.
public ref class AnimalTypeAttribute: public Attribute
{
public:

    // The constructor is called when the attribute is set.
    AnimalTypeAttribute( Animal pet )
    {
        thePet = pet;
    }


protected:

    // Keep a variable internally ...
    Animal thePet;

public:

    property Animal Pet 
    {
        // .. and show a copy to the outside world.
        Animal get()
        {
            return thePet;
        }

        void set( Animal value )
        {
            thePet = value;
        }
    }
};

// A test class where each method has its own pet.
ref class AnimalTypeTestClass
{
public:

    [AnimalType(Animal::Dog)]
    void DogMethod(){}


    [AnimalType(Animal::Cat)]
    void CatMethod(){}

    [AnimalType(Animal::Bird)]
    void BirdMethod(){}

};

int main()
{
    AnimalTypeTestClass^ testClass = gcnew AnimalTypeTestClass;
    Type^ type = testClass->GetType();

    // Iterate through all the methods of the class.
    System::Collections::IEnumerator^ myEnum = 
        type->GetMethods()->GetEnumerator();
    while ( myEnum->MoveNext() )
    {
        MethodInfo^ mInfo = safe_cast<MethodInfo^>(myEnum->Current);

        // Iterate through all the Attributes for each method.
        System::Collections::IEnumerator^ myEnum1 = 
            Attribute::GetCustomAttributes( mInfo )->GetEnumerator();
        while ( myEnum1->MoveNext() )
        {
            Attribute^ attr = safe_cast<Attribute^>(myEnum1->Current);

            // Check for the AnimalType attribute.
            if ( attr->GetType() == AnimalTypeAttribute::typeid )
                Console::WriteLine( "Method {0} has a pet {1} attribute.", 
                mInfo->Name, (dynamic_cast<AnimalTypeAttribute^>(attr))->Pet );
        }
    }
}

/*
 * Output:
 * Method DogMethod has a pet Dog attribute.
 * Method CatMethod has a pet Cat attribute.
 * Method BirdMethod has a pet Bird attribute.
 */
using System;
using System.Reflection;

// An enumeration of animals. Start at 1 (0 = uninitialized).
public enum Animal {
    // Pets.
    Dog = 1,
    Cat,
    Bird,
}

// A custom attribute to allow a target to have a pet.
public class AnimalTypeAttribute : Attribute {
    // The constructor is called when the attribute is set.
    public AnimalTypeAttribute(Animal pet) {
        thePet = pet;
    }

    // Keep a variable internally ...
    protected Animal thePet;

    // .. and show a copy to the outside world.
    public Animal Pet {
        get { return thePet; }
        set { thePet = value; }
    }
}

// A test class where each method has its own pet.
class AnimalTypeTestClass {
    [AnimalType(Animal.Dog)]
    public void DogMethod() {}

    [AnimalType(Animal.Cat)]
    public void CatMethod() {}

    [AnimalType(Animal.Bird)]
    public void BirdMethod() {}
}

class DemoClass {
    static void Main(string[] args) {
        AnimalTypeTestClass testClass = new AnimalTypeTestClass();
        Type type = testClass.GetType();
        // Iterate through all the methods of the class.
        foreach(MethodInfo mInfo in type.GetMethods()) {
            // Iterate through all the Attributes for each method.
            foreach (Attribute attr in
                Attribute.GetCustomAttributes(mInfo)) {
                // Check for the AnimalType attribute.
                if (attr.GetType() == typeof(AnimalTypeAttribute))
                    Console.WriteLine(
                        "Method {0} has a pet {1} attribute.",
                        mInfo.Name, ((AnimalTypeAttribute)attr).Pet);
            }
        }
    }
}
/*
 * Output:
 * Method DogMethod has a pet Dog attribute.
 * Method CatMethod has a pet Cat attribute.
 * Method BirdMethod has a pet Bird attribute.
 */
Imports System.Reflection

Public Module CustomAttrVB

    ' An enumeration of animals. Start at 1 (0 = uninitialized).
    Public Enum Animal
        ' Pets
        Dog = 1
        Cat
        Bird
    End Enum

    ' Visual Basic requires the AttributeUsage be specified.
    ' A custom attribute to allow a target to have a pet.
    <AttributeUsage(AttributeTargets.Method)> _
    Public Class AnimalTypeAttribute
        Inherits Attribute

        ' The constructor is called when the attribute is set.
        Public Sub New(ByVal animal As Animal)
            Me.thePet = animal
        End Sub

        ' Keep a variable internally ...
        Protected thePet As Animal

        ' .. and show a copy to the outside world.
        Public Property Pet() As Animal
            Get
                Return thePet
            End Get
            Set(ByVal Value As Animal)
                thePet = Value
            End Set
        End Property

    End Class

    ' A test class where each method has its own pet.
    Class AnimalTypeTestClass

        <AnimalType(Animal.Dog)> _
        Public Sub DogMethod()
        End Sub

        <AnimalType(Animal.Cat)> _
        Public Sub CatMethod()
        End Sub

        <AnimalType(Animal.Bird)> _
        Public Sub BirdMethod()
        End Sub
    End Class

    ' The runtime test.
    Sub Main()
        Dim testClass As New AnimalTypeTestClass()
        Dim tcType As Type = testClass.GetType()
        Dim mInfo As MethodInfo
        ' Iterate through all the methods of the class.
        For Each mInfo In tcType.GetMethods()
            Dim attr As Attribute
            ' Iterate through all the attributes of the method.
            For Each attr In Attribute.GetCustomAttributes(mInfo)
                If TypeOf attr Is AnimalTypeAttribute Then
                    Dim attrCustom As AnimalTypeAttribute = _
                        CType(attr, AnimalTypeAttribute)
                    Console.WriteLine("Method {0} has a pet {1} attribute.", _
                         mInfo.Name(), attrCustom.Pet.ToString())
                End If
            Next
        Next
    End Sub
End Module

' Output:
' Method DogMethod has a pet Dog attribute.
' Method CatMethod has a pet Cat attribute.
' Method BirdMethod has a pet Bird attribute.

Açıklamalar

Attribute sınıfı, önceden tanımlanmış sistem bilgilerini veya Kullanıcı tanımlı özel bilgileri bir hedef öğe ile ilişkilendirir.The Attribute class associates predefined system information or user-defined custom information with a target element. Hedef öğe bir derleme, sınıf, Oluşturucu, temsilci, Enum, olay, alan, arabirim, yöntem, taşınabilir yürütülebilir dosya modülü, parametre, özellik, dönüş değeri, yapı veya başka bir öznitelik olabilir.A target element can be an assembly, class, constructor, delegate, enum, event, field, interface, method, portable executable file module, parameter, property, return value, struct, or another attribute.

Bir öznitelik tarafından sunulan bilgiler de meta veriler olarak bilinir.Information provided by an attribute is also known as metadata. Meta veriler, programınızın verileri nasıl işlediğini denetlemek için, uygulamanız tarafından çalışma zamanında incelenebilir veya uygulamanızın kendisi tarafından nasıl işlendiğini veya korunmadığını denetlemek için dış araçlarla çalışma zamanından önce incelenebilir.Metadata can be examined at run time by your application to control how your program processes data, or before run time by external tools to control how your application itself is processed or maintained. Örneğin .NET Framework, çalışma zamanı davranışını denetlemek için öznitelik türlerini önceden tanımlar ve kullanır ve bazı programlama dilleri, .NET Framework ortak tür sistemi tarafından doğrudan desteklenmeyen dil özelliklerini temsil etmek için öznitelik türlerini kullanır.For example, the .NET Framework predefines and uses attribute types to control run-time behavior, and some programming languages use attribute types to represent language features not directly supported by the .NET Framework common type system.

Tüm öznitelik türleri doğrudan veya dolaylı olarak Attribute sınıfından türetilir.All attribute types derive directly or indirectly from the Attribute class. Öznitelikler, herhangi bir hedef öğeye uygulanabilir; aynı Target öğesine birden çok öznitelik uygulanabilir; ve öznitelikleri, hedef öğeden türetilmiş bir öğe tarafından devralınabilir.Attributes can be applied to any target element; multiple attributes can be applied to the same target element; and attributes can be inherited by an element derived from a target element. Özniteliğin uygulandığı hedef öğeyi belirtmek için AttributeTargets sınıfını kullanın.Use the AttributeTargets class to specify the target element to which the attribute is applied.

Attribute sınıfı özel öznitelikleri alma ve test etme için kullanışlı yöntemler sağlar.The Attribute class provides convenient methods to retrieve and test custom attributes. Öznitelikleri kullanma hakkında daha fazla bilgi için bkz. öznitelikleri ve öznitelikleri uygulama .For more information about using attributes, see Applying Attributes and Attributes.

Oluşturucular

Attribute()

Yeni bir örneğini başlatır Attribute sınıfı.Initializes a new instance of the Attribute class.

Özellikler

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.When implemented in a derived class, gets a unique identifier for this Attribute.

Yöntemler

Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.Returns a value that indicates whether this instance is equal to a specified object.

GetCustomAttribute(Assembly, Type)

Belirtilen bir derlemeye uygulanan özel bir öznitelik alır.Retrieves a custom attribute applied to a specified assembly. Parametreler derlemeyi ve aranacak özel özniteliğin türünü belirtir.Parameters specify the assembly and the type of the custom attribute to search for.

GetCustomAttribute(Assembly, Type, Boolean)

Bir derlemeye uygulanan özel bir özniteliği alır.Retrieves a custom attribute applied to an assembly. Parametreler, derlemeyi, aranacak özel özniteliğin türünü ve yoksayılan bir arama seçeneğini belirtir.Parameters specify the assembly, the type of the custom attribute to search for, and an ignored search option.

GetCustomAttribute(MemberInfo, Type)

Bir türün üyesine uygulanan özel bir özniteliği alır.Retrieves a custom attribute applied to a member of a type. Parametreler, üyeyi ve aranacak özel özniteliğin türünü belirtir.Parameters specify the member, and the type of the custom attribute to search for.

GetCustomAttribute(MemberInfo, Type, Boolean)

Bir türün üyesine uygulanan özel bir özniteliği alır.Retrieves a custom attribute applied to a member of a type. Parametreler üyeyi, aranacak özel özniteliğin türünü ve üyenin üst öğelerinden arama yapılıp yapılmayacağını belirtir.Parameters specify the member, the type of the custom attribute to search for, and whether to search ancestors of the member.

GetCustomAttribute(Module, Type)

Bir modüle uygulanan özel bir özniteliği alır.Retrieves a custom attribute applied to a module. Parametreler, modülü ve aranacak özel özniteliğin türünü belirtir.Parameters specify the module, and the type of the custom attribute to search for.

GetCustomAttribute(Module, Type, Boolean)

Bir modüle uygulanan özel bir özniteliği alır.Retrieves a custom attribute applied to a module. Parametreler modülü, aranacak özel özniteliğin türünü ve Yoksayılan arama seçeneğini belirtir.Parameters specify the module, the type of the custom attribute to search for, and an ignored search option.

GetCustomAttribute(ParameterInfo, Type)

Bir yöntem parametresine uygulanan özel bir özniteliği alır.Retrieves a custom attribute applied to a method parameter. Parametreler yöntemi parametresini ve aranacak özel özniteliğin türünü belirtir.Parameters specify the method parameter, and the type of the custom attribute to search for.

GetCustomAttribute(ParameterInfo, Type, Boolean)

Bir yöntem parametresine uygulanan özel bir özniteliği alır.Retrieves a custom attribute applied to a method parameter. Parametreler yöntemi parametresini, aranacak özel özniteliğin türünü ve Yöntem parametresinin üst öğelerinden arama yapılıp yapılmayacağını belirtir.Parameters specify the method parameter, the type of the custom attribute to search for, and whether to search ancestors of the method parameter.

GetCustomAttributes(Assembly)

Bir derlemeye uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to an assembly. Bir parametre derlemeyi belirtir.A parameter specifies the assembly.

GetCustomAttributes(Assembly, Boolean)

Bir derlemeye uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to an assembly. Parametreler, derlemeyi ve yoksayılan bir arama seçeneğini belirtir.Parameters specify the assembly, and an ignored search option.

GetCustomAttributes(Assembly, Type)

Bir derlemeye uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to an assembly. Parametreler, derlemeyi ve aranacak özel özniteliğin türünü belirtir.Parameters specify the assembly, and the type of the custom attribute to search for.

GetCustomAttributes(Assembly, Type, Boolean)

Bir derlemeye uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to an assembly. Parametreler, derlemeyi, aranacak özel özniteliğin türünü ve yoksayılan bir arama seçeneğini belirtir.Parameters specify the assembly, the type of the custom attribute to search for, and an ignored search option.

GetCustomAttributes(MemberInfo)

Bir türün üyesine uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to a member of a type. Bir parametre, üyeyi belirtir.A parameter specifies the member.

GetCustomAttributes(MemberInfo, Boolean)

Bir türün üyesine uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to a member of a type. Parametreler üyeyi, aranacak özel özniteliğin türünü ve üyenin üst öğelerinden arama yapılıp yapılmayacağını belirtir.Parameters specify the member, the type of the custom attribute to search for, and whether to search ancestors of the member.

GetCustomAttributes(MemberInfo, Type)

Bir türün üyesine uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to a member of a type. Parametreler, üyeyi ve aranacak özel özniteliğin türünü belirtir.Parameters specify the member, and the type of the custom attribute to search for.

GetCustomAttributes(MemberInfo, Type, Boolean)

Bir türün üyesine uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to a member of a type. Parametreler üyeyi, aranacak özel özniteliğin türünü ve üyenin üst öğelerinden arama yapılıp yapılmayacağını belirtir.Parameters specify the member, the type of the custom attribute to search for, and whether to search ancestors of the member.

GetCustomAttributes(Module)

Bir modüle uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to a module. Bir parametre modülü belirtir.A parameter specifies the module.

GetCustomAttributes(Module, Boolean)

Bir modüle uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to a module. Parametreler, modülü ve Yoksayılan arama seçeneğini belirtir.Parameters specify the module, and an ignored search option.

GetCustomAttributes(Module, Type)

Bir modüle uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to a module. Parametreler, modülü ve aranacak özel özniteliğin türünü belirtir.Parameters specify the module, and the type of the custom attribute to search for.

GetCustomAttributes(Module, Type, Boolean)

Bir modüle uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to a module. Parametreler modülü, aranacak özel özniteliğin türünü ve Yoksayılan arama seçeneğini belirtir.Parameters specify the module, the type of the custom attribute to search for, and an ignored search option.

GetCustomAttributes(ParameterInfo)

Bir yöntem parametresine uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to a method parameter. Bir parametre yöntemi parametresini belirtir.A parameter specifies the method parameter.

GetCustomAttributes(ParameterInfo, Boolean)

Bir yöntem parametresine uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to a method parameter. Parametreler yöntemi parametresini ve Yöntem parametresinin üst öğelerinden arama yapılıp yapılmayacağını belirtir.Parameters specify the method parameter, and whether to search ancestors of the method parameter.

GetCustomAttributes(ParameterInfo, Type)

Bir yöntem parametresine uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to a method parameter. Parametreler yöntemi parametresini ve aranacak özel özniteliğin türünü belirtir.Parameters specify the method parameter, and the type of the custom attribute to search for.

GetCustomAttributes(ParameterInfo, Type, Boolean)

Bir yöntem parametresine uygulanan özel özniteliklerin dizisini alır.Retrieves an array of the custom attributes applied to a method parameter. Parametreler yöntemi parametresini, aranacak özel özniteliğin türünü ve Yöntem parametresinin üst öğelerinden arama yapılıp yapılmayacağını belirtir.Parameters specify the method parameter, the type of the custom attribute to search for, and whether to search ancestors of the method parameter.

GetHashCode()

Bu örneğin karma kodunu döndürür.Returns the hash code for this instance.

GetType()

Geçerli örneğin Type alır.Gets the Type of the current instance.

(Devralındığı yer: Object)
IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılınırsa, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

IsDefined(Assembly, Type)

Bir derlemeye özel özniteliklerin uygulanıp uygulanmadığı belirler.Determines whether any custom attributes are applied to an assembly. Parametreler, derlemeyi ve aranacak özel özniteliğin türünü belirtir.Parameters specify the assembly, and the type of the custom attribute to search for.

IsDefined(Assembly, Type, Boolean)

Bir derlemeye özel özniteliklerin uygulanıp uygulanmadığı belirler.Determines whether any custom attributes are applied to an assembly. Parametreler, derlemeyi, aranacak özel özniteliğin türünü ve yoksayılan bir arama seçeneğini belirtir.Parameters specify the assembly, the type of the custom attribute to search for, and an ignored search option.

IsDefined(MemberInfo, Type)

Bir türün üyesine özel özniteliklerin uygulanıp uygulanmadığı belirler.Determines whether any custom attributes are applied to a member of a type. Parametreler, üyeyi ve aranacak özel özniteliğin türünü belirtir.Parameters specify the member, and the type of the custom attribute to search for.

IsDefined(MemberInfo, Type, Boolean)

Bir türün üyesine özel özniteliklerin uygulanıp uygulanmadığı belirler.Determines whether any custom attributes are applied to a member of a type. Parametreler üyeyi, aranacak özel özniteliğin türünü ve üyenin üst öğelerinden arama yapılıp yapılmayacağını belirtir.Parameters specify the member, the type of the custom attribute to search for, and whether to search ancestors of the member.

IsDefined(Module, Type)

Belirtilen türde herhangi bir özel özniteliğin bir modüle uygulanıp uygulanmadığı belirler.Determines whether any custom attributes of a specified type are applied to a module. Parametreler, modülü ve aranacak özel özniteliğin türünü belirtir.Parameters specify the module, and the type of the custom attribute to search for.

IsDefined(Module, Type, Boolean)

Bir modüle özel özniteliklerin uygulanıp uygulanmadığı belirler.Determines whether any custom attributes are applied to a module. Parametreler modülü, aranacak özel özniteliğin türünü ve Yoksayılan arama seçeneğini belirtir.Parameters specify the module, the type of the custom attribute to search for, and an ignored search option.

IsDefined(ParameterInfo, Type)

Bir yöntem parametresine özel özniteliklerin uygulanıp uygulanmadığı belirler.Determines whether any custom attributes are applied to a method parameter. Parametreler yöntemi parametresini ve aranacak özel özniteliğin türünü belirtir.Parameters specify the method parameter, and the type of the custom attribute to search for.

IsDefined(ParameterInfo, Type, Boolean)

Bir yöntem parametresine özel özniteliklerin uygulanıp uygulanmadığı belirler.Determines whether any custom attributes are applied to a method parameter. Parametreler yöntemi parametresini, aranacak özel özniteliğin türünü ve Yöntem parametresinin üst öğelerinden arama yapılıp yapılmayacağını belirtir.Parameters specify the method parameter, the type of the custom attribute to search for, and whether to search ancestors of the method parameter.

Match(Object)

Türetilmiş bir sınıfta geçersiz kılınırsa, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.Maps a set of names to a corresponding set of dispatch identifiers.

_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilen bir nesnenin tür bilgilerini alır.Retrieves the type information for an object, which can be used to get the type information for an interface.

_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.Provides access to properties and methods exposed by an object.

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu güvenli iş parçacığı türüdür.This type is thread safe.

Ayrıca bkz.