Rozšíření metadat pomocí atributů
Pokud jste někdy použili jazyk C++, jste pravděpodobně seznámeni s deklaracemi, které obsahují klíčová slova, jako například public a private, které poskytují další informace o členech třídy. Tato klíčová slova dále definují chování členů třídy pomocí popisu jejich přístupnosti vůči jiným třídám. Vzhledem k tomu, že kompilátory jsou explicitně navrženy pro rozpoznání předdefinovaných klíčových slov, nemáte obvykle možnost vytvořit své vlastní. modul CLR (Common Language Runtime), vám však umožňuje přidat popisné deklarace podobné klíčovým slovům nazývané atributy, pro opatření poznámkami programovací prvky, jako jsou typy, položky, metody a vlastnosti.
Při kompilaci kódu pro modul runtime, je kód převeden do jazyka MSIL (Microsoft Intermediate Language) a je umístěn uvnitř přenosného spustitelného soubor (PE) společně s metadaty generovanými kompilátorem. Atributy umožňují umístit další popisné informace do metadat, které mohou být extrahovány pomocí služby reflexe modulu runtime. Kompilátor vytvoří atributy, když deklarujete instance speciálních tříd odvozených z System.Attribute.
Rozhraní .NET Framework používá atributy z různých důvodů a k vyřešení řady problémů. Atributy popisují jak serializovat data, určují charakteristiky, které se používají k vynucení zabezpečení a omezují optimalizace kompilátoru za běhu (JIT), takže kód lze stále snadno ladit. Atributy také mohou zaznamenat název soubor nebo autora kódu nebo řídit viditelnost ovládacích prvků a členů během vývoje formulářů.
Atributy můžete použít k popisu vašeho kódu prakticky jakýmkoli možným způsobem a ovlivnit chování za běhu tvůrčími novými směry. Atributy umožňují přidat vlastní popisné prvky jazyka C#, Visual C++, Microsoft Visual Basic 2005 nebo jakéhokoli jiného jazyka, který je zaměřen na daný modul runtime, aniž by bylo nutné přepsat váš kompilátor.
Příbuzná témata
Title |
Popis |
---|---|
Popisuje, jak aplikovat atribut na prvku kódu. |
|
Popisuje, jak navrhnout vlastní třídy atributů. |
|
Popisuje, jak získat vlastní atributy pro kód, který je načten do kontextu spuštění. |
|
Poskytuje přehled metadat a popisuje, jak jsou implementována v přenosném spustitelném souboru (PE) rozhraní .NET Framework. |
|
Vysvětluje, jak načíst informace o vlastním atributu v kontextu pouhé reflexe. |