C # Delklasse og delvis metode (med eksempler)

I denne artikkelen skal vi lære om hvordan og hvorfor delvis klasse og delvise metoder implementeres i C #.

Det er mange situasjoner når du kanskje trenger å dele en klassedefinisjon, for eksempel når du jobber med store prosjekter, kan det hende at flere utviklere og programmerere trenger å jobbe i samme klasse samtidig. I dette tilfellet kan vi bruke en funksjon som heter Partial Class .

Introduksjon til delvis klasse

Mens vi programmerer i C # (eller OOP), kan vi dele definisjonen av en klasse over to eller flere kildefiler. Kildefilene inneholder en del av definisjonen av klasse, og alle deler kombineres når applikasjonen kompileres. For å dele en klassedefinisjon, må vi bruke partialnøkkelordet.

Eksempel 1:

Vi har et prosjekt HeightWeightInfosom viser høyde og vekt.

Vi har en fil som heter som File1.csmed en delvis klasse som heter Record. Den har to heltallvariabler h & w og en metode / konstruktør kalt Record som tildeler verdiene til 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 annen fil kalt File2.cs med samme delklasse Record som bare har metoden PrintRecord. Denne metoden viser verdiene til h & w.

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

Her kan vi nå se hovedmetoden for prosjektet:

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

Her har vi objektet til klassen Record som myRecord som overfører parameterverdiene som henholdsvis 10 og 15 til h og w til metoden definert i File1.cs.

Metoden PrintRecord kalles av objektet myRecord som er definert i File2.cs.

Dette viser at partialnøkkelordet hjelper til med å kombinere alle attributtene til en klasse definert i forskjellige filer for å fungere som en enkelt klasse.

Steder der partialklassen kan brukes:

  1. Mens de jobber med større prosjekter med mer enn én utvikler, hjelper det utviklerne å jobbe på samme klasse samtidig.
  2. Koder kan legges til eller endres til klassen uten å opprette kildefiler som automatisk genereres av IDE (dvs. Visual Studio).

Ting å huske på delvis klasse

Den partialsøkeord spesifisere at andre deler av klassen kan defineres i namespace. Det er obligatorisk å bruke det delvise nøkkelordet hvis vi prøver å gjøre en klasse delvis. Alle delene av klassen skal være i samme navneområde og være tilgjengelige på kompileringstidspunktet for å danne den endelige typen. Alle delene må ha samme tilgangsmodifikator, dvs. private, offentlige eller så videre.

  • Hvis noen deler blir erklært abstrakt, blir hele typen betraktet som abstrakt.
  • Hvis noen del er erklært forseglet, anses hele typen som forseglet.
  • Hvis noen del erklærer en basetype, arver hele typen den klassen.
  • Ethvert klassemedlem erklært i en delvis definisjon er tilgjengelig for alle andre deler.
  • Alle deler av en delvis klasse skal være i samme navneområde.

** Merk: Den partialmodifier er ikke tilgjengelig på delegere eller opplisting erklæringer

Intrusjon til delvise metoder

En delvis klasse kan inneholde en delvis metode. En del av klassen inneholder signaturen til metoden. En valgfri implementering kan defineres i samme del eller en annen del. Hvis implementeringen ikke leveres, fjernes metoden og alle anrop på kompileringstidspunktet.

Eksempel 2:

La oss ta et eksempel som en delvis klasse Cardefinert file1.cssom har tre metoder InitializeCar (), BuildRim () og BuildWheels (). Blant disse metodene er InitializeCar definert som partial.

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

Og vi har en annen fil som heter file2.csto metoder BuildEngine og InitializeCar. Metoden InitializeCar er delvis metode som også er definert i file1.cs.

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

En delmetodedeklarasjon består av to deler:

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

De kan være i separate deler av delklassen, eller i samme del.

Ting å huske på Partial Method

  • partial nøkkelord.
  • returtype void .
  • implisitt private.
  • og kan ikke være virtual.

Interessante artikler...