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 partial
märksõna.
Näide 1:
Meil on projekt nimega, HeightWeightInfo
mis näitab pikkust ja kaalu.
Meil on fail nimega nagu File1.cs
osaline 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 partial
märksõna aitab kõikides failides määratletud klassi kõik atribuudid ühendada ühe klassina.
Kohad, kus partial
klassi saab kasutada:
- Töötades mitme arendajaga suuremate projektide kallal, aitab see arendajatel samaaegselt töötada sama klassiga.
- 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
partial
Mä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 Car
määratletud osalise klassina , file1.cs
milles 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.cs
millel 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:
- Definitsioon nagu punktis
file1.cs
. - 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
.