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 partial
nøkkelordet.
Eksempel 1:
Vi har et prosjekt HeightWeightInfo
som viser høyde og vekt.
Vi har en fil som heter som File1.cs
med 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 partial
nøkkelordet hjelper til med å kombinere alle attributtene til en klasse definert i forskjellige filer for å fungere som en enkelt klasse.
Steder der partial
klassen kan brukes:
- Mens de jobber med større prosjekter med mer enn én utvikler, hjelper det utviklerne å jobbe på samme klasse samtidig.
- 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 partial
sø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 partial
modifier 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 Car
definert file1.cs
som 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.cs
to 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:
- Definisjonen som i
file1.cs
. - 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
.