C # Częściowa klasa i częściowa metoda (z przykładami)

W tym artykule dowiemy się, jak i dlaczego klasy częściowe i metody częściowe są implementowane w C #.

Istnieje wiele sytuacji, w których może zajść potrzeba podzielenia definicji klasy, na przykład podczas pracy nad projektami na dużą skalę wielu programistów i programistów może potrzebować pracować nad tą samą klasą w tym samym czasie. W tym przypadku możemy użyć funkcji o nazwie Partial Class .

Wprowadzenie do klasy częściowej

Podczas programowania w C # (lub OOP) możemy podzielić definicję klasy na dwa lub więcej plików źródłowych. Pliki źródłowe zawierają sekcję definicji klasy, a wszystkie części są łączone podczas kompilacji aplikacji. Aby podzielić definicję klasy, musimy użyć partialsłowa kluczowego.

Przykład 1:

Mamy projekt o nazwie as, HeightWeightInfoktóry pokazuje wzrost i wagę.

Mamy plik o nazwie as File1.csz częściową klasą o nazwie Record. Ma dwie zmienne całkowite h & w i metodę / konstruktor o nazwie Record, który przypisuje wartości h & w.

 namespace HeightWeightInfo ( class File1 ( ) public partial class Record ( private int h; private int w; public Record(int h, int w) ( this.h = h; this.w = w; ) ) )

Oto inny plik o nazwie File2.cs z tą samą częściową klasą Record, która ma tylko metodę PrintRecord. Ta metoda wyświetli wartości h & w.

 namespace HeightWeightInfo ( class File2 ( ) public partial class Record ( public void PrintRecord() ( Console.WriteLine("Height:"+ h); Console.WriteLine("Weight:"+ w); ) ) )

Tutaj teraz możemy zobaczyć główną metodę projektu:

 namespace HeightWeightInfo ( class Program ( static void Main(string() args) ( Record myRecord = new Record(10, 15); myRecord.PrintRecord(); Console.ReadLine(); ) ) )

Mamy tutaj obiekt klasy Record as myRecord, który przekazuje wartości parametrów 10 i 15 odpowiednio do h i w do metody zdefiniowanej w File1.cs.

Metoda PrintRecord jest wywoływana przez obiekt myRecord zdefiniowany w pliku File2.cs.

To pokazuje, że partialsłowo kluczowe pomaga łączyć wszystkie atrybuty klasy zdefiniowane w różnych plikach, aby działały jako jedna klasa.

Miejsca, w których partialmożna korzystać z zajęć:

  1. Podczas pracy nad większymi projektami z więcej niż jednym programistą pomaga programistom pracować jednocześnie nad tą samą klasą.
  2. Kody można dodawać lub modyfikować do klasy bez ponownego tworzenia plików źródłowych, które są automatycznie generowane przez IDE (np. Visual Studio).

Rzeczy do zapamiętania dotyczące częściowej klasy

Słowo partialkluczowe określa, że ​​inne części klasy mogą być definiowane w przestrzeni nazw. Używanie słowa kluczowego częściowego jest obowiązkowe, jeśli próbujemy uczynić klasę częściową. Wszystkie części klasy powinny znajdować się w tej samej przestrzeni nazw i być dostępne w czasie kompilacji, aby utworzyć ostateczny typ. Wszystkie części muszą mieć ten sam modyfikator dostępu, tj. Prywatny, publiczny itd.

  • Jeśli jakakolwiek część jest uznana za abstrakcyjną, cały typ jest uważany za abstrakcyjny.
  • Jeśli jakakolwiek część zostanie uznana za zapieczętowaną, cały typ jest uważany za zapieczętowany.
  • Jeśli jakakolwiek część deklaruje typ podstawowy, cały typ dziedziczy tę klasę.
  • Każdy element członkowski klasy zadeklarowany w częściowej definicji jest dostępny dla wszystkich innych części.
  • Wszystkie części klasy częściowej powinny znajdować się w tej samej przestrzeni nazw.

** Uwaga:partial modyfikator nie jest dostępny na deklaracji przekazać lub wyliczeniowych

Wprowadzenie do metod częściowych

Klasa częściowa może zawierać metodę częściową. Jedna część klasy zawiera sygnaturę metody. Opcjonalną implementację można zdefiniować w tej samej lub innej części. Jeśli implementacja nie zostanie podana, metoda i wszystkie wywołania są usuwane w czasie kompilacji.

Przykład 2:

Weźmy przykład jako Carzdefiniowaną klasę częściową, file1.csktóra ma trzy metody InitializeCar (), BuildRim () i BuildWheels (). Wśród tych metod InitializeCar jest zdefiniowany jako partial.

 public partial class Car ( partial void InitializeCar(); public void BuildRim() ( ) public void BuildWheels() ( ) )

Mamy inny plik o nazwie as, file2.csktóry ma dwie metody BuildEngine i InitializeCar. Metoda InitializeCar jest metodą częściową, która jest również zdefiniowana w file1.cs.

 public partial class Car ( public void BuildEngine() ( ) partial void InitializeCar() ( string str = "Car"; ) )

Częściowa deklaracja metody składa się z dwóch części:

  1. Definicja jak w file1.cs.
  2. Realizacja jak w file2.cs.

Mogą znajdować się w oddzielnych częściach klasy cząstkowej lub w tej samej części.

O czym należy pamiętać przy metodzie częściowej

  • partial słowo kluczowe.
  • typ zwrotu void .
  • niejawnie private.
  • i nie może być virtual.

Interesujące artykuły...