Skip to content

Instantly share code, notes, and snippets.

@pjastr
Last active October 27, 2017 19:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pjastr/a6911733ea0edbbc0e5d1273d68c8c59 to your computer and use it in GitHub Desktop.
Save pjastr/a6911733ea0edbbc0e5d1273d68c8c59 to your computer and use it in GitHub Desktop.

Słowo kluczowe partial umożliwia podzielenie klasy, struktury, interfejsu lub metody na kilka części w osobnych plikach. Wszystkie klasy częściowe muszą być dostępne do kompilacji ponieważ zostają połączone w jedną klasę.

Ważne przy przy tworzeniu klas częściowych, zwróć uwagę na wspólny modyfikator dostępu, słowa kluczowe itp.

Przykładowy kod:

namespace Aplikacja1
    {
        partial class Czesciowa
        {
            public void Metoda1() { }
            public void Metoda2() { }
        }

        class Program
        {
            static void Main(string[] args)
            {
                Czesciowa obiekt = new Czesciowa();
                obiekt.Metoda3();
                obiekt.Metoda1();
            }
        }

        partial class Czesciowa
        {
            public void Metoda3() { }
            public void Metoda4() { }
        }
    }

W przypadku metod częściowych, w jednym pliku możemy zamieścić deklaracje metody a w innym pliku ciało metody. Podczas kompilacji, deklaracje metod które nie mają ciała w żadnym pliku zostają usunięte. Co ważne musi to zdajdować się w klasie o tej samej nazwie. Ponadto metody częściowe muszą zwracać void.

            //plik nr 1
            partial void Metoda();
            //plik nr 2
            partial void Metoda()
            {
                //ciało metody
            }

Kiedy stosujemy partial?

  • gdy pracujemy z automatycznie wygenerowanym kodem np. WinForms, WPF.
  • dwie osoby pracują jednocześnie nad daną klasą
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment