Attribútumok alkalmazása
Az alábbi eljárással attribútumot alkalmazhat a kód egy elemére.
Adjon meg egy új attribútumot, vagy használjon egy meglévő .NET-attribútumot.
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.
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, aholname
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.