Jmenné prostory C#
Jsem začátečník. Vrtají mi hlavou jmenné prostory, které jsou v literatuře popisovány způsobem, že zamezují konfliktu identifikátorů tříd, metod apod. Jenže co když mám jmenný prostor s nazvem "JmennyProstor1" a jmenný prostor s názvem "JmennyProstor2". V obou jmenných prostorech je definována třída se steným identifikátorem "MojeTrida". Na začátku kódu mám pomocí klíčového slova "using" zavedeny oba jmenné prostory. Nyní chci vytvořit instanci třídy "MojeTrida". Jenže dojde ke konfliktu obou tříd ze dvou jmenných prostorů... Dělám něco špatně?
Ano takto to je správně. Vyhodí to chybu o dvojíte referenci na třídu MojeTrida.
Tudíž pokud potřebujete používat MojeTrida a zároveň potřeba používat oba jmenné prostory, tak musíte u kontstrukce objektu určit ze kterého prostoru chcete vzít MojeTrida.
Diky za odpoved... Takto to mam, jak pisete. Myslel jsem, jestli to nejde jeste nejak jinak.
Ešte si môžeš definovať vlastný alias pomocou using Alias = My.Namespace, a potom v kóde môžeš k triede My.Namespace.MyClass pristupovať cez Alias::MyClass (prípadne Alias.MyClass), viď namespace alias qualifier.
Ale väčšinou si vystačíš s tým, čo si použil.