C # Частковий клас та частковий метод (з прикладами)

У цій статті ми збираємось дізнатись про те, як і чому часткові класи та часткові методи впроваджуються в C #.

Існує багато ситуацій, коли вам може знадобитися розділити визначення класу, наприклад, під час роботи над масштабними проектами, багатьом розробникам та програмістам може знадобитися працювати над одним класом одночасно. У цьому випадку ми можемо використовувати функцію, яка називається Частковий клас .

Вступ до часткового класу

Під час програмування на C # (або OOP) ми можемо розділити визначення класу на два або більше вихідних файлів. Вихідні файли містять розділ визначення класу, і всі частини поєднуються під час компіляції програми. Для розділення визначення класу нам потрібно використовувати partialключове слово.

Приклад 1:

У нас є проект, названий таким, HeightWeightInfoякий показує зріст і вагу.

У нас є файл із назвою as File1.csз частковим класом, що називається Record. Він має дві цілочисельні змінні h & w та метод / конструктор, названий Record, який присвоює значення 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; ) ) )

Ось ще один файл з іменем File2.cs з тим самим частковим класом Record, який має лише метод PrintRecord. Цей метод відображатиме значення h & w.

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

Зараз ми можемо побачити основний метод проекту:

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

Тут ми маємо об’єкт класу Record як myRecord, який передає значення параметрів як 10 та 15 до h та w відповідно до методу, визначеного у File1.cs.

Метод PrintRecord викликається об'єктом myRecord, який визначений у File2.cs.

Це показує, що partialключове слово допомагає поєднати всі атрибути класу, визначеного в різних файлах, для роботи як єдиний клас.

Місця, де partialможна використовувати клас:

  1. Працюючи над великими проектами з кількома розробниками, це допомагає розробникам одночасно працювати над одним класом.
  2. Коди можна додавати або модифікувати до класу без повторного створення вихідних файлів, які автоматично генеруються IDE (тобто Visual Studio).

Що слід пам’ятати про частковий клас

partialКлючове слово вказати , що інші частини класу можуть бути визначені в просторі імен. Обов’язковим є використання часткового ключового слова, якщо ми намагаємось зробити клас частковим. Усі частини класу повинні знаходитися в одному просторі імен і доступні під час компіляції для формування остаточного типу. Усі деталі повинні мати однаковий модифікатор доступу, тобто приватний, загальнодоступний тощо.

  • Якщо якусь частину оголошено абстрактною, то весь тип вважається абстрактною.
  • Якщо будь-яка деталь оголошена герметичною, то весь тип вважається герметичною.
  • Якщо яка-небудь частина оголошує базовий тип, тоді весь тип успадковує цей клас.
  • Будь-який член класу, заявлений у частковому визначенні, доступний для всіх інших частин.
  • Усі частини часткового класу повинні знаходитися в одному просторі імен.

** Примітка:partial модифікатор не доступний на делегат або перерахування декларацій

Вступ до часткових методів

Частковий клас може містити частковий метод. Одна частина класу містить підпис методу. Необов'язкова реалізація може бути визначена в тій самій частині або іншій частині. Якщо реалізація не надана, тоді метод і всі виклики видаляються під час компіляції.

Приклад 2:

Візьмемо приклад як частковий клас, Carвизначений у file1.csякому є три методи InitializeCar (), BuildRim () та BuildWheels (). Серед цих методів InitializeCar визначається як partial.

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

І ми маємо ще один файл з іменем як, file2.csякий має два методи BuildEngine та InitializeCar. Метод InitializeCar є частковим методом, який також визначено в file1.cs.

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

Часткова декларація методу складається з двох частин:

  1. Визначення як у file1.cs.
  2. Реалізація як в file2.cs.

Вони можуть бути в окремих частинах часткового класу, або в тій же частині.

Що слід пам’ятати про частковий метод

  • partial ключове слово.
  • тип повернення void .
  • неявно private.
  • і не може бути virtual.

Цікаві статті...