Megosztás a következőn keresztül:


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 pozíció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. C++-ban és C#-ban adja meg a name=value minden egyes választható paraméterhez, ahol name a tulajdonság neve. 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 szeretné System.ObsoleteAttribute, csak elavultként kell hivatkoznia rá.

Attribútum alkalmazása metódusra

Az alábbi példakód bemutatja a használat System.ObsoleteAttributemódját, amely elavultként jelöli meg 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 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 AssemblyTitleAttribute összeállítás szintjén alkalmazott kódot mutatja be.

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

Amikor ezt az attribútumot alkalmazzuk, a "My Assembly" sztring a fájl metaadatok részében található összeállítási jegyzékbe kerül. Az attribútumot az IL-szétszerelés (Ildasm.exe) használatával, vagy egy egyéni program létrehozásával tekintheti meg az attribútum lekéréséhez.

Lásd még