În lecția despre metodele de extensie, am aflat că acestea sunt un mod frumos de a adăuga funcționalitate suplimentară tipurilor deja existente, și am făcut acest lucru prin adăugarea unei metode statice într-o clasă statică, care a luat un parametru de tip, prefixat de cuvântul cheie
this, astfel:
Deci, deși clasa mea originală
Carte nu conține o metodă numită
VindeExemplar(), pot să o apelez în metoda
Main() deoarece am declarat o metodă de extensie pentru clasa
Carte, iar această metodă statică
VindeExemplar() a luat un parametru de tip
Carte prefixat de cuvântul cheie
this, care semnalează compilatorului că metoda este intenționată ca o metodă de extensie pentru tipul
Carte.… Read more
Uneori, programatorii consideră că au nevoie să adauge funcționalități noi codurilor deja existente, pentru a le îmbunătăți sau a le completa. În cazul în care respectivul codul sursă este disponibil, sarcina este simplă – trebuie doar să adauge funcționalitatea necesară și să recompileze.… Read more
Amintiți-vă din lecția expresii lambda că putem declara o metodă local, fără nume, și să o folosim într-un singur loc, acolo unde o declarăm. Acesta este un exemplu de expresie lambda:
În lecția anterioară scriam că putem îmbunătăți în continuare codul folosind expresii lambda. O expresie lambda este o modalitate convenabilă de a defini o funcție anonimă (fără nume) care poate fi transmisă ca variabilă sau ca parametru la un apel de metodă.… Read more
Metodele virtuale sunt metode care pot fi suprascriseîn clasele copil (derivate). În mod implicit, în .NET, metodele nu sunt virtuale. Pentru a declara o metodă ca virtuală, trebuie să o declaram folosind cuvântul cheievirtual, ca atare:
Metodele generice, ca și clasele generice, sunt metode parametrizate (tipizate) pe care le folosim atunci când nu putem specifica tipul parametrilor metodei. De asemenea, la fel ca în cazul claselor generice, înlocuirea tipurilor necunoscute cu tipuri specifice se întâmplă la apelarea metodei.… Read more
Există două motive principale pentru care metodele și funcțiile sunt folosite. Primul, pe care l-am menționat deja în câteva dintre postările anterioare, este reutilizarea codului. Al doilea este modularizarea codului, divizarea sarcinilor complexe în sub-sarcini mai mici, care ne pot oferi o mai bună imagine de ansamblu a întregii funcționalități.… Read more
Am vorbit în lecția precedentă despre semnătura metodelor și funcțiilor, și am oferit acolo o scurtă explicație cu privire la acest subiect. Este timpul să explic acest nou concept un pic mai detaliat. La nivel de bază, doar două lucruri sunt obligatorii pentru a specifica semnătura unei metode sau funcții: tipul de parametri și ordinea în care sunt enumerați.… Read more
Sunt momente când avem funcții sau metode care realizează practic același lucru, dar folosesc diferite tipuri de parametri. Cu alte cuvinte, există cazuri când avem metode cu același nume, dar cu semnături diferite. Ce înseamnă asta? Înseamnă că putem avea câteva metode cu același nume, dar cu alt tip de parametri, aranjament diferit de parametri, sau un număr diferit de parametri.… Read more
Când am explicat parametrii funcțiilor și metodelor, am spus că îi putem folosi pentru a trimite diferite valori pe care metodele și funcțiile noastre le pot folosi în calculele lor. Ar trebui să știți și că metodele și funcțiile pot avea parametri opționali, parametrii cu o valoare prestabilită, care pot fi omiși atunci când apelăm o metodă sau o funcție.… Read more