Attribútumok alkalmazása

Az alábbi eljárással attribútumot alkalmazhat a kód egy elemére.

  1. Adjon meg egy új attribútumot, vagy használjon egy meglévő .NET-attribútumot.

  2. Alkalmazza az attribútumot a kódelemre úgy, hogy közvetlenül az elem elé helyezi.

    Minden nyelvnek saját attribútumszintaxisa van. C++ és C# esetén az attribútum szögletes zárójelekkel van körülvéve, és fehér szóközzel elválasztva az elemtől, amely sortörést is tartalmazhat. A Visual Basicben az attribútum szögletes zárójelekkel van körülvéve, és ugyanazon a logikai vonalon kell lennie; a vonal folytatási karaktere akkor használható, ha sortörésre van szükség.

  3. Adja meg az attribútum pozícióparamétereit és elnevezett paramétereit.

    A pozicionálási paraméterek megadása kötelező, és a névvel ellátott paraméterek elé kell tartozniuk. Ezek megfelelnek az attribútum egyik konstruktorának paramétereinek. Az elnevezett paraméterek nem kötelezőek, és megfelelnek az attribútum olvasási/írási tulajdonságainak. A C++ és a C# mezőben adja meg name=value az egyes választható paramétereket, ahol name a tulajdonság neve szerepel. A Visual Basicben adja meg a .name:=value

Az attribútum a kód lefordításakor metaadatokba kerül, és a közös nyelvi futtatókörnyezet és bármely egyéni eszköz vagy alkalmazás számára elérhető a futtatókörnyezeti tükrözési szolgáltatásokon keresztül.

Konvenció szerint az összes attribútumnév "Attribútum" végződésű. A futtatókörnyezetet megcélzott nyelvek, például a Visual Basic és a C# azonban nem igénylik az attribútum teljes nevének megadását. Ha például inicializálni System.ObsoleteAttributeszeretné, csak elavultként kell hivatkoznia rá.

Attribútum alkalmazása metódusra

Az alábbi példakód bemutatja, hogyan használható a System.ObsoleteAttribute, amely elavultként jelöli a kódot. A sztring "Will be removed in next version" át lesz adva az attribútumnak. Ez az attribútum egy fordítói figyelmeztetést okoz, amely megjeleníti az átadott sztringet, amikor az attribútum által leírt kódot meghívják.

public ref class Example
{
    // Specify attributes between square brackets in C#.
    // This attribute is applied only to the Add method.
public:
    [Obsolete("Will be removed in next version.")]
    static int Add(int a, int b)
    {
        return (a + b);
    }
};

ref class Test
{
public:
    static void Main()
    {
        // This generates a compile-time warning.
        int i = Example::Add(2, 2);
    }
};

int main()
{
    Test::Main();
}
public class Example
{
    // Specify attributes between square brackets in C#.
    // This attribute is applied only to the Add method.
    [Obsolete("Will be removed in next version.")]
    public static int Add(int a, int b)
    {
        return (a + b);
    }
}

class Test
{
    public static void Main()
    {
        // This generates a compile-time warning.
        int i = Example.Add(2, 2);
    }
}
Public Class Example
    ' Specify attributes between square brackets in C#.
    ' This attribute is applied only to the Add method.
    <Obsolete("Will be removed in next version.")>
    Public Shared Function Add(a As Integer, b As Integer) As Integer
        Return a + b
    End Function
End Class

Class Test
    Public Shared Sub Main()
        ' This generates a compile-time warning.
        Dim i As Integer = Example.Add(2, 2)
    End Sub
End Class

Attribútumok alkalmazása a szerelvény szintjén

Ha a szerelvény szintjén szeretne attribútumot alkalmazni, használja a assembly (Assembly Visual Basic) kulcsszót. Az alábbi kód a szerelvény szintjén alkalmazott AssemblyTitleAttribute elemet mutatja be.

using namespace System::Reflection;
[assembly:AssemblyTitle("My Assembly")];
using System.Reflection;
[assembly:AssemblyTitle("My Assembly")]
Imports System.Reflection
<Assembly: AssemblyTitle("My Assembly")>

Az attribútum alkalmazásakor a sztring "My Assembly" a fájl metaadat-részében található szerelvényjegyzékbe kerül. Az attribútumot az IL-szétszerelési eszközzel (Ildasm.exe) vagy egy egyéni program létrehozásával tekintheti meg az attribútum lekéréséhez.

Lásd még