C # osaline klass ja osaline meetod (koos näidetega)

Selles artiklis õpime, kuidas ja miks rakendada osalisi klassi ja osalisi meetodeid C # -s.

On palju olukordi, kus peate võib-olla klassi definitsiooni jagama, näiteks suuremahuliste projektide kallal võivad mitu arendajat ja programmeerijat korraga töötada samal klassil. Sel juhul saame kasutada funktsiooni nimega Osaline klass .

Osalise klassi sissejuhatus

Programmeerimise ajal C # -s (või OOP-is) saame klassi definitsiooni jagada kaheks või enamaks lähtefailiks. Lähtefailid sisaldavad klassi definitsiooni jaotist ja kõik osad on rakenduse koostamisel ühendatud. Klassi definitsiooni jagamiseks peame kasutama partialmärksõna.

Näide 1:

Meil on projekt nimega, HeightWeightInfomis näitab pikkust ja kaalu.

Meil on fail nimega nagu File1.csosaline klass nimega Record. Sellel on kaks täisarvu muutujat h & w ja meetod / konstruktor nimega Record, mis määrab h & w väärtused.

 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; ) ) )

Siin on veel üks fail nimega File2.cs sama osalise klassi kirjega, millel on ainult meetod PrintRecord. See meetod kuvab väärtuste h & w.

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

Siin näeme nüüd projekti peamist meetodit:

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

Siin on klassi Record objekt myRecord, mis edastab parameetri väärtused 10 ja 15 vastavalt h-le ja w-le määratletud meetodile File1.cs.

Meetodit PrintRecord kutsub objekt myRecord, mis on määratletud failis File2.cs.

See näitab, et partialmärksõna aitab kõikides failides määratletud klassi kõik atribuudid ühendada ühe klassina.

Kohad, kus partialklassi saab kasutada:

  1. Töötades mitme arendajaga suuremate projektide kallal, aitab see arendajatel samaaegselt töötada sama klassiga.
  2. Koode saab klassi lisada või muuta ilma IDE (nt Visual Studio) automaatselt genereeritavate lähtefailide uuesti loomiseta.

Asjad, mida tuleb meeles pidada osalise klassi kohta

partialMärksõna täpsustada, et mujal klassi saab määrata nimeruumi. Osalise märksõna kasutamine on kohustuslik, kui proovime klassi osaliseks muuta. Kõik klassi osad peaksid olema samas nimeruumis ja lõpliku tüübi moodustamiseks kompileerimise ajal kättesaadavad. Kõigil osadel peab olema sama juurdepääsu modifikaator, st privaatne, avalik vms.

  • Kui mõni osa kuulutatakse abstraktseks, siis loetakse abstraktseks kogu tüüp.
  • Kui mõni osa tunnistatakse pitseerituks, loetakse kogu tüüp pitseerituks.
  • Kui mõni osa deklareerib aluse tüübi, siis pärib kogu klass selle klassi.
  • Kõik osaliselt määratletud klassi liikmed on kättesaadavad kõigile teistele osadele.
  • Osalise klassi kõik osad peaksid olema samas nimeruumis.

** Märkus:partial teisendaja ei ole kättesaadav delegaat või loendamine deklaratsioonid

Sissejuhatus osalistesse meetoditesse

Osaline klass võib sisaldada osalist meetodit. Klassi üks osa sisaldab meetodi allkirja. Valikulise rakenduse võib määratleda samas või teises osas. Kui juurutust ei pakuta, eemaldatakse meetod ja kõik kõned kompileerimise ajal.

Näide 2:

Võtame näite Carmääratletud osalise klassina , file1.csmilles on kolm meetodit InitializeCar (), BuildRim () ja BuildWheels (). Nende meetodite hulgas on InitializeCar määratletud kui partial.

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

Ja meil on veel üks fail nimega, file2.csmillel on kaks meetodit BuildEngine ja InitializeCar. Meetod InitializeCar on osaline meetod, mis on määratletud ka dokumendis file1.cs.

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

Osaline meetodi deklaratsioon koosneb kahest osast:

  1. Definitsioon nagu punktis file1.cs.
  2. Rakendamine nagu aastal file2.cs.

Need võivad olla osalise klassi eraldi osades või samas osas.

Osalise meetodi kohta meelde tuletatavad asjad

  • partial märksõna.
  • tagastuse tüüp void .
  • kaudselt private.
  • ja ei saa olla virtual.

Huvitavad Artiklid...