Sdílet prostřednictvím


Atributy (pokyny pro návrh rozhraní .NET Framework)

Poznámka:

Tento obsah je znovu vytištěn oprávněním Pearson Education, Inc. z Framework Design Guidelines: Conventions, Idioms a Patterns for Reusable .NET Libraries, 2. vydání. Tato edice byla publikována v roce 2008 a kniha byla od té doby plně upravena ve třetím vydání. Některé informace na této stránce můžou být zastaralé.

System.Attribute je základní třída, která slouží k definování vlastních atributů.

Atributy jsou poznámky, které lze přidat do programovacích prvků, jako jsou sestavení, typy, členy a parametry. Jsou uloženy v metadatech sestavení a lze k nim přistupovat za běhu pomocí rozhraní API reflexe. Rozhraní například definuje ObsoleteAttribute, který lze použít pro typ nebo člen, který označuje, že typ nebo člen byl zastaralý.

Atributy můžou mít jednu nebo více vlastností, které obsahují další data související s atributem. Může například ObsoleteAttribute obsahovat další informace o verzi, ve které byl typ nebo člen zastaralý, a popis nových rozhraní API nahrazujících zastaralé rozhraní API.

Některé vlastnosti atributu musí být zadány při použití atributu. Označují se jako požadované vlastnosti nebo požadované argumenty, protože jsou reprezentovány jako parametry pozičního konstruktoru. Například vlastnost ConditionString vlastnosti ConditionalAttribute je požadovaná vlastnost.

Vlastnosti, které nemusí být nutně zadány při použití atributu, se nazývají volitelné vlastnosti (nebo volitelné argumenty). Jsou reprezentovány nastavitelnými vlastnostmi. Kompilátory poskytují speciální syntaxi pro nastavení těchto vlastností při použití atributu. AttributeUsageAttribute.Inherited Například vlastnost představuje volitelný argument.

✔️ DO pojmenujte vlastní třídy atributů s příponou "Attribute".

✔️ POUŽIJTE AttributeUsageAttribute u vlastních atributů.

✔️ Umožněte nastavitelné vlastnosti pro nepovinné argumenty.

✔️ Do zadejte vlastnosti jen pro získání požadovaných argumentů.

✔️ ZADEJTE parametry konstruktoru pro inicializaci vlastností odpovídajících požadovaným argumentům. Každý parametr by měl mít stejný název (i když s jiným casingem) jako odpovídající vlastnost.

❌ Vyhněte se zadávání parametrů konstruktoru pro inicializaci vlastností odpovídajících volitelným argumentům.

Jinými slovy, nemějte vlastnosti, které lze nastavit pomocí konstruktoru a setteru. Tato příručka jasně určuje, které argumenty jsou volitelné a které jsou povinné, a vyhýbá se dvěma různým způsobům provedení téže věci.

❌ VYHNĚTE se přetížení vlastních konstruktorů atributů.

Mít pouze jeden konstruktor jasně komunikuje s uživatelem, které argumenty jsou povinné a které jsou volitelné.

✔️ Pokud je to možné, zapečetějte vlastní třídy atributů. Vyhledávání atributu tak bude rychlejší.

Části z © 2005, 2009 Microsoft Corporation. Všechna práva vyhrazena.

Přetištěno se svolením Pearson Education, Inc. z Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition od Krzysztofa Cwaliny a Brada Abramse, vydáno 22. října 2008 nakladatelstvím Addison-Wesley Professional jako součást série Microsoft Windows Development.

Viz také