• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kiedy using a kiedy odniesienie przez cały namespace

Object Storage Arubacloud
0 głosów
277 wizyt
pytanie zadane 8 maja 2019 w C# przez Ilmefy Obywatel (1,950 p.)

Dzień dobry. 

Mam pytanie, otóż jak wiadomo w C# do innej klasy można odnosić się na dwa sposoby. Korzystając z using 

using PathVerificator;

a następnie pisać po prostu PathVerificator.

oraz pisząc już w kodzie cały namespace.

Core.PathVerificator

Jak się domyślam jeśli występują dwie metody to pewnie obie mają jakieś przeznaczenie i chciałbym wiedzieć kiedy powinienem korzystać z którego zapisu? Oczywistym jest, że jeśli korzystam z np LINQ to lepiej jest zadeklarować poprzez using, ale jeśli np korzystam w jednej lub dwóch metodach z metody innej klasy to wtedy powinienem zapisać to tak:

using Core.PathVerificator

private void SprawdzSciezke(string sciezka)
{
bool prawidlowa= PathVerificator.Verificate(sciezka);
}

czy tak:

private void SprawdzSciezke(string Sciezka)
{
bool prawidlowa=Core.PathVerification.Verificate(Sciezka);
}

Mam nadzieję, że udało mi się wytłumaczyć jakkolwiek zrozumiale co mam na myśli.

1 odpowiedź

+2 głosów
odpowiedź 9 maja 2019 przez aeragram Obywatel (1,760 p.)
wybrane 9 maja 2019 przez Ilmefy
 
Najlepsza

Cześć.

Wprawdzie dopiero się uczę c#, ale wydaje mi się, że użycie pełnej ścieżki ( Core.PathVerification.Verificate() ) czy też skrócenie zapisu przez użycie using jest w tym przypadku bez znaczenia. Osobiście uważam, że jeżeli już otwieram jakąś szufladę (przestrzeń nazw) żeby coś z niej wyjąć, to zostawiam ją otwartą (używając using), bo może jeszcze później okaże się, że znowu będzie mi coś z tej szuflady potrzebne.

Natomiast wydaje mi się, że konieczne jest używanie pełnej ścieżki w sytuacji, gdy klasa o tej samej nazwie znajduje się w różnych przestrzeniach nazw. Wtedy kompilator nie jest w stanie określić, której klasy użyć, jeżeli nie podamy pełnej ścieżki. Na przykład kiedy w przestrzeni nazw MyNamespaceAA jest klasa MyClass, oraz w przestrzeni MyNamespaceBB jest klasa o tej samej nazwie MyClass, to żeby odnieść się do konkretnej klasy trzeba zapisać pełną ścieżkę np. MyNamespaceAA.MyClass.

Pozdrawiam

Podobne pytania

+2 głosów
1 odpowiedź 763 wizyt
pytanie zadane 11 kwietnia 2021 w C i C++ przez Dawidziu Bywalec (2,630 p.)
0 głosów
1 odpowiedź 418 wizyt
pytanie zadane 6 grudnia 2019 w C i C++ przez Gildin1_2 Gaduła (3,060 p.)
+1 głos
1 odpowiedź 3,130 wizyt
pytanie zadane 3 lipca 2017 w C i C++ przez Michał Biernacki Użytkownik (670 p.)

92,684 zapytań

141,589 odpowiedzi

320,073 komentarzy

62,044 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...