Alias zde představuje nové jméno (tj. identifikátor) jmenného prostoru, resp. typu, které můžeme používat místo jména původního. Poznamenejme, že jméno typu musí být vyjádřeno identifikátorem, nikoli klíčovým slovem. To znamená, že takto nelze zavést nové jméno např. pro typ string. (Lze ovšem zavést nové jméno pro typ System.String a tak dosáhnout stejného výsledku; s tím jsme se setkali v oddílu 4.2.) PŘÍKLAD 5.6 | DEKLARACE USING Použijeme-li v příkladu z tohoto oddílu deklaraci using PD = První.Druhý;
vytvoříme alias PD, který lze používat místo První.Druhý. To znamená, že místo První.Druhý.U účko = new První.Druhý.U();
můžeme napsat PD.U účko = new PD.U();
5.4 Atributy Atributy24 byly v C# novinkou, jež neměla v žádném jiném z běžně používaných programovacích jazyků obdobu. Ovšem ukázalo se, že jde o velice užitečnou konstrukci, takže dnes najdeme jejich analogii (pod stejným nebo jiným označením) např. v C++ nebo v Javě. Atributy umožňují vyjádřit dodatečné informace o sestavení, modulu, třídě, metodě, její složce nebo o parametru metody; zapisují se do hranatých závorek před deklaraci. deklarace atributů: ◾◾ [ seznam_atributů ] Seznam atributů, to jsou jednotlivé atributy oddělené čárkami. Samotný atribut můžeme popsat takto: atribut: ◾◾ cílnep jméno ( parametrynep ) Atribut se implicitně vztahuje k následující deklaraci. Má-li se vztahovat k sestavení, musíme před ním jako cíl uvést assembly:, má-li se vztahovat k modulu,25 musíme před ním jako cíl uvést module:. Některé atributy lze aplikovat jen na některé cíle. Za jménem atributu mohou následovat v závorkách parametry. Podívejme se na příklad: [Serializable, Obsolete] public class Chacha { /* ... */ }
Zde jsme deklarovali třídu Chacha s atributy Serializable a Obsolete. K jejich významu se vrátíme v následujícím oddílu. Poznamenejme, že atributy obvykle zapisujeme na samostatnou řádku před deklaraci. 24 V OOP se termín atributy původně používal pro datové složky, případně obecně pro jakékoli složky tříd. V poslední době se ale začíná používat (alespoň v souvislosti s některými programovacími jazyky) ve významu dodatečný specifikátor. 25 Sestavení se může skládat z několika modulů, které mohou být překládány odděleně. Není to však běžný postup a my o něm v této knize nebudeme hovořit. 98 Programování v C#
Ukázka elektronické knihy, UID: KOS286763