Dyrektywa using w języku C#
Dyrektywa using - pozwala używać nazw niekwalifikowanych
Dyrektywa
using jest bardzo przydatnym narzędziem, pozwala
uniknąć konieczności
poprzedzania nazwą przestrzeni, typów i metod znajdujących się w danym pliku lub przestrzeni nazw. Dyrektywy
using muszą zostać zadeklarowane na samym początku przestrzeni nazw lub pliku. Najbardziej zewnętrzna przestrzeń nazw, w której znajdują się wszystkie inne przestrzenie nazw, nazywana jest
globalną przestrzenią nazw. W przypadku gdy nie zadeklarujemy typu jawnie w przestrzeni nazw, to zostanie przypisany do przestrzeni globalnej - będzie się można do niego odwoływać bezpośrednio z każdej innej przestrzeni nazw. Należy tego unikać, ponieważ nie jest to poprawny styl programowania i kłóci się z ideą przestrzeni nazw.
Przykład użycia:
- przed użyciem dyrektywy using:
namespace przestrzen1
{
public class Klasa1
{
System.Collections.Generic.IEnumerable<int> lista;
System.Collections.Generic.IEnumerable<int> lista1;
}
}
- po użyciu dyrektywy using:
namespace przestrzen1
{
using System.Collections.Generic;
public class Klasa1
{
IEnumerable<int> lista;
IEnumerable<int> lista1;
}
}
W zależności od położenia dyrektywy
using odnosi się ona do innej części kodu.
Dyrektywa using odnosząca się do wszystkich przestrzeni nazw znajdujących się w pliku:
using System;
namespace przestrzen1.przestrzen2
{//klasy itp.
}
namespace przestrzen2
{//klasy itp.
}
Dyrektywa using odnosząca się tylko do jednej przestrzeni nazw, w której została zadeklarowana:
namespace przestrzen1.przestrzen2
{
using System;
//klasy itp.
}
W przypadku, gdy w dwóch różnych przestrzeniach nazw zadeklarowanych poprzez
using znajdują się typy o takich samych nazwach należy używać
nazwy kwalifikowanej.
Dyrektywa
using nie jest rekurencyjna a więc przykładowo dyrektywa
using.przestrzen1 nie zawiera w sobie przestrzeni zagnieżdżonych w przestrzeni
przestrzen1, czyli np.:
using.przestrzen1.przestrzen2. Jeśli chcemy korzystać z obu tych przestrzeni należy zamieścić obie dyrektywy.
Więcej informacji an temat dyrektywy using:
http://msdn.microsoft.com/pl-pl/library/zhdeatwt.aspx
Komentarze facebook (polub nasz profil na FB aby je zobaczyć):