C # Delklasse og delvis metode (med eksempler)

I denne artikel vil vi lære om, hvordan og hvorfor delvis klasse og delvise metoder implementeres i C #.

Der er mange situationer, hvor du muligvis har brug for at opdele en klassedefinition, f.eks. Når du arbejder på projekter i stor skala, kan flere udviklere og programmører muligvis arbejde på samme klasse på samme tid. I dette tilfælde kan vi bruge en funktion kaldet Partial Class .

Introduktion til delvis klasse

Under programmering i C # (eller OOP) kan vi opdele definitionen af ​​en klasse over to eller flere kildefiler. Kildefilerne indeholder et afsnit af definitionen af ​​klasse, og alle dele kombineres, når applikationen kompileres. For at opdele en klassedefinition er vi nødt til at bruge partialnøgleordet.

Eksempel 1:

Vi har et projekt med navnet som HeightWeightInfoviser højde og vægt.

Vi har en fil navngivet som File1.csmed en delvis klasse med navnet Record. Det har to heltalvariabler h & w og en metode / konstruktør navngivet som Record, der tildeler værdierne for 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; ) ) )

Her er en anden fil med navnet File2.cs med den samme delklasse Record, som kun har metoden PrintRecord. Denne metode viser værdierne for h & w.

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

Her kan vi nu se projektets hovedmetode:

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

Her har vi objektet med klassen Record som myRecord, der sender parameterværdierne henholdsvis 10 og 15 til h og w til metoden defineret i File1.cs.

Metoden PrintRecord kaldes af objektet myRecord, som er defineret i File2.cs.

Dette viser, at partialnøgleordet hjælper med at kombinere alle attributterne for en klasse defineret i forskellige filer til at fungere som en enkelt klasse.

Steder, hvor partialklassen kan bruges:

  1. Mens man arbejder på større projekter med mere end en udvikler, hjælper det udviklerne til at arbejde på samme klasse samtidigt.
  2. Koder kan tilføjes eller ændres til klassen uden at genskabe kildefiler, der automatisk genereres af IDE (dvs. Visual Studio).

Ting at huske på delvis klasse

Den partialKeyword præcisere der kan defineres andre dele af klassen i navnerummet. Det er obligatorisk at bruge det delvise nøgleord, hvis vi prøver at gøre en klasse delvis. Alle dele af klassen skal være i samme navneområde og være tilgængelige på kompileringstidspunktet for at danne den endelige type. Alle delene skal have samme adgangsmodifikator, dvs. private, offentlige osv.

  • Hvis nogen del erklæres abstrakt, betragtes hele typen som abstrakt.
  • Hvis en del erklæres forseglet, betragtes hele typen som forseglet.
  • Hvis en del erklærer en basistype, arver hele typen den klasse.
  • Ethvert klassemedlem, der er erklæret i en delvis definition, er tilgængeligt for alle andre dele.
  • Alle dele af en delklasse skal have samme navneområde.

** Bemærk: Den partialmodifier er ikke tilgængelig på stedfortræderen eller tælling erklæringer

Introduktion til delvise metoder

En delvis klasse kan indeholde en delvis metode. En del af klassen indeholder metodens signatur. En valgfri implementering kan defineres i den samme del eller en anden del. Hvis implementeringen ikke leveres, fjernes metoden og alle opkald på kompileringstidspunktet.

Eksempel 2:

Lad os tage et eksempel som en delvis klasse Cardefineret, file1.cssom har tre metoder InitializeCar (), BuildRim () og BuildWheels (). Blandt disse metoder er InitializeCar defineret som partial.

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

Og vi har en anden fil navngivet som file2.cshar to metoder BuildEngine og InitializeCar. Metoden InitializeCar er delvis metode, som også er defineret i file1.cs.

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

En delmetodedeklaration består af to dele:

  1. Definitionen som i file1.cs.
  2. Implementeringen som i file2.cs.

De kan være i separate dele af delklassen eller i den samme del.

Ting at huske på delvis metode

  • partial nøgleord.
  • returtype void .
  • implicit private.
  • og kan ikke være virtual.

Interessante artikler...