Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az attribútumok hatékony módszert biztosítanak a metaadatok vagy deklaratív információk kóddal (szerelvények, típusok, metódusok, tulajdonságok stb.) való társítására. Miután hozzárendelt egy attribútumot egy programentitáshoz, az attribútum futtatáskor lekérdezhető egy tükröződésinevű technikával. További információ: Reflection (Visual Basic).
Az attribútumok a következő tulajdonságokkal rendelkeznek:
Az attribútumok metaadatokat adnak a programhoz. metaadatok a programban definiált típusokkal kapcsolatos információk. Minden .NET-szerelvény tartalmaz egy megadott metaadatkészletet, amely leírja a szerelvényben definiált típusokat és típustagokat. Egyéni attribútumokat is hozzáadhat a szükséges további információk megadásához. További információ: Egyéni attribútumok létrehozása (Visual Basic).
Egy vagy több attribútumot alkalmazhat teljes szerelvényekre, modulokra vagy kisebb programelemekre, például osztályokra és tulajdonságokra.
Az attribútumok ugyanúgy fogadhatják el az argumentumokat, mint a metódusokat és a tulajdonságokat.
A program a saját metaadatait vagy más programok metaadatait is megvizsgálhatja a tükröződés segítségével. További információ: Attribútumok elérése tükröződés (Visual Basic) használatával.
Attribútumok használata
Az attribútumok a legtöbb deklarációra helyezhetők, bár egy adott attribútum korlátozhatja az érvényes deklarációk típusait. A Visual Basicben egy attribútum szögletes zárójelek közé van zárva (<>). Közvetlenül az elem előtt kell megjelennie, amelyre alkalmazva van, ugyanazon a sorban.
Ebben a példában a SerializableAttribute attribútum egy adott jellemző egy osztályra való alkalmazására szolgál:
<System.Serializable()> Public Class SampleClass
' Objects of this type can be serialized.
End Class
Az attribútummal DllImportAttribute rendelkező metódus a következőképpen van deklarálva:
Imports System.Runtime.InteropServices
<System.Runtime.InteropServices.DllImport("user32.dll")>
Sub SampleMethod()
End Sub
Egynél több attribútum helyezhető el egy deklaráción:
Imports System.Runtime.InteropServices
Sub MethodA(<[In](), Out()> ByVal x As Double)
End Sub
Sub MethodB(<Out(), [In]()> ByVal x As Double)
End Sub
Egyes attribútumok egy adott entitáshoz többször is megadhatóak. Ilyen multiuse attribútum például ConditionalAttribute:
<Conditional("DEBUG"), Conditional("TEST1")>
Sub TraceMethod()
End Sub
Megjegyzés:
Konvenció szerint az attribútumnevek az "Attribútum" szóval végződnek, hogy megkülönböztessék őket a .NET-keretrendszer más elemeitől. Az attribútum utótagját azonban nem kell megadnia, ha attribútumokat használ a kódban. Például a [DllImport] is egyenértékű a [DllImportAttribute]-vel, de a DllImportAttribute az attribútum valós neve a .NET-keretrendszerben.
Attribútumparaméterek
Számos attribútum rendelkezik paraméterekkel, amelyek lehetnek pozíciósak, névtelenek vagy elnevezettek. A pozícióparamétereket meghatározott sorrendben kell megadni, és nem hagyhatók ki; az elnevezett paraméterek megadása nem kötelező, és bármilyen sorrendben megadható. Először a pozícióparaméterek vannak megadva. Ez a három attribútum például egyenértékű:
<DllImport("user32.dll")>
<DllImport("user32.dll", SetLastError:=False, ExactSpelling:=False)>
<DllImport("user32.dll", ExactSpelling:=False, SetLastError:=False)>
Az első paraméter, a DLL neve, pozíciós, és mindig az első. A többi megnevezett paraméter. Ebben az esetben mindkét elnevezett paraméter alapértelmezés szerint hamis, ezért kihagyhatók. Az alapértelmezett paraméterértékekkel kapcsolatos információkért tekintse meg az egyes attribútumok dokumentációját.
Attribútumcélok
Az attribútum célja az az entitás, amelyre az attribútum vonatkozik. Előfordulhat például, hogy egy attribútum egy osztályra, egy adott metódusra vagy egy teljes szerelvényre vonatkozik. Alapértelmezés szerint az attribútum az előtte lévő elemre vonatkozik. De explicit módon is azonosíthatja például, hogy egy attribútum egy metódusra, annak paraméterére vagy visszatérési értékére van-e alkalmazva.
Az attribútum-cél explicit azonosításához használja az alábbi szintaxist:
<target : attribute-list>
A lehetséges target értékek listája az alábbi táblázatban látható.
| Célérték | A következőkre vonatkozik: |
|---|---|
assembly |
Teljes szerelvény |
module |
Aktuális szerelvénymodul (amely eltér a Visual Basic-modultól) |
Az alábbi példa bemutatja, hogyan alkalmazhat attribútumokat szerelvényekre és modulokra. További információ: Common Attributes (Visual Basic).
Imports System.Reflection
<Assembly: AssemblyTitleAttribute("Production assembly 4"),
Module: CLSCompliant(True)>
Az attribútumok gyakori felhasználási módjai
Az alábbi lista a kódban használt attribútumok néhány gyakori használatát tartalmazza:
A webszolgáltatásokban a
WebMethodattribútumot használó metódusok megjelölése annak jelzésére, hogy a metódusnak a SOAP protokollon keresztül hívhatónak kell lennie. További információért lásd WebMethodAttribute.A metódusparaméterek natív kóddal való üzemeltetéskor történő alkalmazásának leírása. További információért lásd MarshalAsAttribute.
Az osztályok, metódusok és felületek COM-tulajdonságainak leírása.
Nem felügyelt kód meghívása a DllImportAttribute osztály használatával.
Az összeállítás cím, verzió, leírás vagy védjegy szerinti meghatározása.
Annak leírása, hogy egy osztály mely tagjai szerializálhatók a megőrzéshez.
Az osztálytagok és az XML-csomópontok közötti megfeleltetés leírása AZ XML-szerializáláshoz.
A metódusok biztonsági követelményeinek ismertetése.
A biztonság kikényszerítéséhez használt jellemzők megadása.
Az igény szerinti (JIT) fordító optimalizálásainak szabályozása, hogy a kód könnyen hibakereshető maradjon.
Információ beszerzése a hívóról egy metódushoz.
Kapcsolódó szakaszok
További információkért lásd:
Attribútumok elérése tükröződés (Visual Basic) használatával
Útmutató: C/C++ unió létrehozása attribútumok használatával (Visual Basic)