C # Delklass och partiell metod (med exempel)

I den här artikeln ska vi lära oss mer om hur och varför partiell klass och partiella metoder implementeras i C #.

Det finns många situationer när du kan behöva dela en klassdefinition, till exempel när du arbetar med stora projekt kan flera utvecklare och programmerare behöva arbeta på samma klass samtidigt. I det här fallet kan vi använda en funktion som heter Partial Class .

Introduktion till partiell klass

Under programmering i C # (eller OOP) kan vi dela definitionen av en klass över två eller flera källfiler. Källfilerna innehåller ett avsnitt av definitionen av klass, och alla delar kombineras när applikationen kompileras. För att dela en klassdefinition måste vi använda partialnyckelordet.

Exempel 1:

Vi har ett projekt som heter som HeightWeightInfovisar längd och vikt.

Vi har en fil som heter som File1.csmed en delklass som heter Record. Den har två heltalsvariabler h & w och en metod / konstruktör som heter Record som tilldelar värdena för 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; ) ) )

Här är en annan fil med namnet File2.cs med samma partiklass Record som endast har metoden PrintRecord. Denna metod visar värdena för h & w.

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

Här kan vi nu se projektets huvudmetod:

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

Här har vi föremålet för klassen Record som myRecord som skickar parametervärdena 10 respektive 15 till h respektive w till metoden som definieras i File1.cs.

Metoden PrintRecord anropas av objektet myRecord som definieras i File2.cs.

Detta visar att partialnyckelordet hjälper till att kombinera alla attribut för en klass definierad i olika filer för att fungera som en enda klass.

Platser där partialklassen kan användas:

  1. Medan de arbetar på större projekt med mer än en utvecklare hjälper det utvecklarna att arbeta på samma klass samtidigt.
  2. Koder kan läggas till eller ändras till klassen utan att skapa källfiler som automatiskt genereras av IDE (dvs. Visual Studio).

Saker att komma ihåg om partiell klass

Den partialnyckelordet anger att andra delar av klassen kan definieras i namnområdet. Det är obligatoriskt att använda det partiella nyckelordet om vi försöker göra en klass delvis. Alla delar av klassen bör vara i samma namnområde och vara tillgängliga vid sammanställningstidpunkten för att bilda den slutliga typen. Alla delar måste ha samma åtkomstmodifierare, dvs privata, offentliga eller så vidare.

  • Om någon del förklaras abstrakt, anses hela typen vara abstrakt.
  • Om någon del förklaras förseglad, anses hela typen vara förseglad.
  • Om någon del förklarar en bastyp ärver den hela klassen.
  • Alla klassmedlemmar som deklarerats i en partiell definition är tillgängliga för alla andra delar.
  • Alla delar av en delklass ska ha samma namnområde.

** Obs: Det partialmodifierings är inte tillgänglig på delegerar eller uppräkningsdeklarationer

Intraktion till partiella metoder

En partiell klass kan innehålla en partiell metod. En del av klassen innehåller metodens signatur. En valfri implementering kan definieras i samma del eller annan del. Om implementeringen inte levereras tas metoden och alla samtal bort vid kompileringen.

Exempel 2:

Låt oss ta ett exempel som en partiell klass Cardefinieras i file1.cssom har tre metoder InitializeCar (), BuildRim () och BuildWheels (). Bland dessa metoder definieras InitializeCar som partial.

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

Och vi har en annan fil med namnet som file2.cshar två metoder BuildEngine och InitializeCar. Metoden InitializeCar är partiell metod som också definieras i file1.cs.

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

En partiell metoddeklaration består av två delar:

  1. Definitionen som i file1.cs.
  2. Genomförandet som i file2.cs.

De kan finnas i separata delar av delklassen eller i samma del.

Saker att komma ihåg om partiell metod

  • partial nyckelord.
  • returtyp void .
  • implicit private.
  • och kan inte vara virtual.

Intressanta artiklar...