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


Attribútumok (.NET-keretrendszer tervezési irányelvek)

Feljegyzés

Ezt a tartalmat a Pearson Education, Inc. engedélyével nyomtatjuk újra a Framework Design Guidelines: Conventions, Idioms és Patterns for Reusable .NET Libraries, 2nd Edition engedélyével. Ezt a kiadást 2008-ban adták ki, és a könyvet azóta teljesen átdolgozták a harmadik kiadásban. Előfordulhat, hogy az oldalon található információk némelyike elavult.

System.Attribute az egyéni attribútumok definiálására használt alaposztály.

Az attribútumok olyan széljegyzetek, amelyek programozási elemekhez, például szerelvényekhez, típusokhoz, tagokhoz és paraméterekhez adhatók hozzá. Ezek a szerelvény metaadataiban vannak tárolva, és futásidőben érhetők el a tükrözési API-k használatával. A keretrendszer például meghatározza a ObsoleteAttributetípusra vagy tagra alkalmazhatót, amely jelzi, hogy a típus vagy tag elavult.

Az attribútumok egy vagy több tulajdonsággal rendelkezhetnek, amelyek az attribútumhoz kapcsolódó további adatokat hordoznak. Például további információkat is hordozhat arról a kiadásról, ObsoleteAttribute amelyben egy típus vagy tag elavulttá vált, valamint az elavult API-t lecserélő új API-k leírását.

Az attribútumok bizonyos tulajdonságait meg kell adni az attribútum alkalmazásakor. Ezeket kötelező tulajdonságoknak vagy kötelező argumentumoknak nevezzük, mivel pozíciókonstruktorparaméterekként jelennek meg. A tulajdonság ConditionalAttribute például ConditionString egy kötelező tulajdonság.

Az attribútum alkalmazásakor nem feltétlenül szükséges tulajdonságokat opcionális tulajdonságoknak (vagy opcionális argumentumoknak) nevezzük. Ezeket a beállítási tulajdonságok jelölik. A fordítók speciális szintaxissal állítják be ezeket a tulajdonságokat egy attribútum alkalmazásakor. A tulajdonság például AttributeUsageAttribute.Inherited egy választható argumentumot jelöl.

✔️ DO név egyéni attribútumosztályok az "Attribútum" utótaggal.

✔️ DO alkalmazza az AttributeUsageAttribute egyéni attribútumokra.

✔️ A DO beállítási tulajdonságokat ad meg az opcionális argumentumokhoz.

✔️ A DO csak lekéréses tulajdonságokat biztosít a szükséges argumentumokhoz.

✔️ A DO konstruktorparamétereket biztosít a szükséges argumentumoknak megfelelő tulajdonságok inicializálásához. Minden paraméternek ugyanazzal a névvel kell rendelkeznie (bár eltérő burkolattal), mint a megfelelő tulajdonság.

❌ NE adjon konstruktorparamétereket az opcionális argumentumoknak megfelelő tulajdonságok inicializálásához.

Más szóval nem rendelkezik olyan tulajdonságokkal, amelyek konstruktorral és setterrel is beállíthatók. Ez az útmutató nagyon egyértelművé teszi, hogy mely argumentumok választhatók és melyek szükségesek, és elkerüli, hogy két módon is ugyanazt tegye.

❌ KERÜLJE az egyéni attribútumkonstruktorok túlterhelését.

Ha csak egy konstruktor van, egyértelműen közli a felhasználóval, hogy mely argumentumokra van szükség, és melyek nem kötelezőek.

✔️ HA lehetséges, a DO zárolja az egyéni attribútumosztályokat. Ez felgyorsítja az attribútum keresését.

© Részletek 2005, 2009 Microsoft Corporation. Minden jog fenntartva.

Reprinted by permission of Pearson Education, Inc. from Framework Design Guidelines: Conventions, Idioms and Patterns for Reusable .NET Libraries, 2nd Edition by Krzysztof Cwalina and Brad Abrams, published 22, 2008 by Addison-Wesley Professional, a Microsoft Windows Development Series részeként.

Lásd még