Kas čia? Šio puslapio pagalba gali išsaugoti įrašą tolimesniam naudojimui, arba parodyti savo draugams per socialinius tinklus. Pranešimą apie įrašą galima nusiųsti ir el. paštu.

Kur norite publikuoti?

Nusiųsk draugui el. paštu

E-mail It
2007-09-13

Nauji C# 3.0 daliniai (partial) metodai

Publikuota: C Sharp

Paskutiniu metu kodo generavimas tampa vis populeresnis, kas gerai matosi aprašant priėjimo prie duomenų sluoksnį (DAL), kada pagal lentelių struktūrą generuojamos esybės. .NET Framework 2.0 pirmą kartą atsirado dalinės (partial) klasės. Jų dėka tapo įmanoma skaidyti klasės aprašą į kelis failus, kuo iš karto pasinaudojo kodo generavimo įrankiai. Pagrindinė dalinių klasių paskirtis - atskirti sugeneruotą kodą nuo vartotojo rašyto kodo. .NET Framework 3.5 padarė dar vieną žingsnį į priekį ir, pradedant nuo Visual Studio 2008 Beta 2, siūlo dalinius metodus. Daliniai metodai pozicionuojami kaip lengvesni ir greitesni įvykių analogai. Tam, kad vaizdžiau paaiškinti jų paskirtį aš pateiksiu du pavyzdžius: tariamai sugeneruotas dalines klases Darbotojas ir Darbotojas2008.

Kaip matyti, čia aprašytos dvi įvykių doroklės (event handlers), leidžiančios apdoroti darbovietės pasikeitimą. Turint tokią sugeneruotą klasę, kitame faile mes galime atlikti papildomus veiksmus prieš pasikeičiant darbovietei:

Turint net tokį paprastą pavyzdį matyti, kad gana dažnai tik su keliais įvykiais yra susieti papildomi veiksmai, kiti yra tiesiog nenaudojami. Būtent tokioms situacijoms ir yra skirti daliniai metodai. Žemiau yra pateikta dalinė klasė Darbotojas2008, kuri naudoja dalinius metodus:

Kaip matyti: a) daliniams metodams aprašyti naudojamas raktažodis partial ir b) mano atveju daliniai metodai neturi kūno. Norint aprašyti papildomą veiksmą prieš pasikeičiant darbovietei, užtenka kitame faile tiesiog realizuoti dalinį metodą DarbovieteChanging():

Daugeliui skaitytojų gali kilti klausimas: koks skirtumas tarp nenaudojamų įvykių ir nerealizuotų dalinių metodų? Jeigu dalinis metodas nėra realizuotas, tai kompiliavimo metu jis yra praleidžiamas, taip nepaliekant nenaudojamo kodo, kas ypač aktualu sugeneruotam kodui.

Daliniai metodai turi keletą apribojimų:

  • gali būti aprašomi tik dalinėse klasėse
  • negali grąžinti jokių reikšmių (void)
  • yra privatūs

Apibendrinant, daliniai metodai yra gana specifinė .NET 3.5 galimybė, kuri bus ypač naudinga tandeme su kodo generavimo įrankiais.

Tiek šiam kartui, tikiuosi straipsnis jums patiko ir laukiu jūsų atsiliepimų!


Atgal į: Nauji C# 3.0 daliniai (partial) metodai