1. Wprowadzenie do C#
  2. Szybki start
  3. Pierwszy program
  4. Komentarze
  5. Typy danych
  6. Zmienne
  7. Pola
  8. Właściwości
  9. Stałe
  10. Metody
  11. Instrukcje warunkowe
  12. Pętle
  13. Tablice
  14. Kolekcje
  15. Klasy
  16. Dziedziczenie
  17. Polimorfizm
  18. Konwersja typów
  19. Właściwości klasy String
  20. Typy wyliczeniowe
  21. Interfejsy
  22. Klasy statyczne
  23. Klasy Abstrakcyjne
  24. Przestrzenie nazw
  25. Wyjątki
  26. Typy generyczne
  27. JSON
  28. XML
  29. Podsumowanie

Zagnieżdżone przestrzenie nazw

Zagnieżdżone przestrzenie nazw to przestrzenie nazw, które znajdują się wewnątrz innych przestrzeni nazw. Tworzą one hierarchię przestrzeni nazw, co pozwala na lepsze organizowanie i rozwijanie kodu.

Aby stworzyć zagnieżdżoną przestrzeń nazw, umieszczamy jedną przestrzeń nazw wewnątrz innej przestrzeni nazw.

								
namespace MojaBiblioteka
{
    class MojaKlasa1
    {
        /* Jakiś kod do wykonania */
    }

    namespace BibliotekaPodrzędna
    {
        class MojaKlasa2
        {
            /* Jakiś kod do wykonania */
        }
    }
}
								
						

Oto przykład programu w języku C#, w którym korzystamy z zagnieżdżonych przestrzeni nazw:

								
using System;
using MojaBiblioteka.Narzedzia;

namespace MojaAplikacja
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Witaj świecie!");

            MojaBiblioteka.DostepDoDanych.MojKlasa myObject1 = new MojaBiblioteka.DostepDoDanych.MojKlasa();
            myObject1.MojMetoda();
            myObject1.MojMetoda2();

            MojaBiblioteka.LogikaBiznesowa.MojKlasa myObject2 = new MojaBiblioteka.LogikaBiznesowa.MojKlasa();
            myObject2.MojMetoda();
            myObject2.MojMetoda2();

            PomocnikStringow.OdwrocString("Witaj świecie!");
        }
    }
}

namespace MojaBiblioteka
{
    namespace DostepDoDanych
    {
        class MojKlasa
        {
            public void MojMetoda()
            {
                Console.WriteLine("To jest MojMetoda z przestrzeni nazw DostepDoDanych.");
            }

            public void MojMetoda2()
            {
                Console.WriteLine("To jest MojMetoda2 z przestrzeni nazw DostepDoDanych.");
            }
        }
    }

    namespace LogikaBiznesowa
    {
        class MojKlasa
        {
            public void MojMetoda()
            {
                Console.WriteLine("To jest MojMetoda z przestrzeni nazw LogikaBiznesowa.");
            }

            public void MojMetoda2()
            {
                Console.WriteLine("To jest MojMetoda2 z przestrzeni nazw LogikaBiznesowa.");
            }
        }
    }

    namespace Narzedzia
    {
        public static class PomocnikStringow
        {
            public static void OdwrocString(string s)
            {
                char[] charArray = s.ToCharArray();
                Array.Reverse(charArray);
                Console.WriteLine(new string(charArray));
            }
        }
    }
}
								
						
Wyjaśnienie

W tym przykładzie mamy trzy zagnieżdżone przestrzenie nazw: MojaBiblioteka.DostepDoDanych, MojaBiblioteka.LogikaBiznesowa oraz MojaBiblioteka.Narzedzia. W każdej z nich znajdują się odpowiednie klasy i metody, które odpowiadają za różne funkcjonalności programu. W metodzie Main korzystamy z tych klas i metod za pomocą pełnej nazwy z przestrzeni nazw. Dzięki zagnieżdżonym przestrzeniom nazw kod jest lepiej zorganizowany i łatwiejszy w utrzymaniu.

Notatka

Zagnieżdżone przestrzenie nazw pozwalają na lepsze rozdzielenie kodu w aplikacji, co ułatwia jego utrzymanie i rozwijanie. Możemy np. oddzielić elementy dotyczące bazy danych od elementów dotyczących interfejsu użytkownika.

>