Hva er utvidelsesmetoder?
Utvidelsesmetoder er en slags statisk metode som fjerner bryet med å redigere kildekoden for å legge til nye metoder. Dette betyr at utviklere kan legge ny funksjonalitet til typer som strenger, heltall eller noen annen tilpasset klasse uten å måtte lage en ny klasse eller endre den originale klassen. Utvidelsesmetoder er definert i statiske klasser og bruker "dette" Nøkkelord For å spesifisere typen som utvides, er syntaksen for å lage en utvidelsesmetode som følger:
Offentlig statisk returtype MethodName (denne parameteren ExtendedType)Det offentlige nøkkelordet indikerer at metoden er tilgjengelig hvor som helst i koden, statisk indikerer at metoden er en statisk metode, og returtype er datatypen som returneres med den metoden. MethodName er navnet på utvidelsesmetoden, og dette nøkkelordet etterfulgt av Utvidetype Parameter indikerer at denne metoden utvider den utvidede typen klasse.
Parameteren er parameteren overført til metoden, og implementeringen av metoden er skrevet inne i krøllete seler . Denne syntaksen gjør det mulig for utviklere å lage nye metoder for eksisterende typer, noe som gjør koden mer gjenbrukbar og modulær.
Hvordan bruke utvidelsesmetode for å utvide strengklassen
Anta at du vil legge til en ny metode i strengklassen som kapitaliserer den første bokstaven i strengen, du kan gjøre dette ved å bruke en utvidelsesmetode ved å bruke den gitte koden nedenfor:
ved hjelp av system;Vi har laget en ny konsollapplikasjon som inkluderer strengextensjonsklassen og i hovedsak har vi laget en strengvariabel kalt som input og tildelt den en streng som inneholder “Hei Linux”. Neste CapitalizeFirstetter Utvidelsesmetode kalles på inngangsstrengen, som kapitaliserer den første bokstaven i strengen. Til slutt skriver vi ut resultatet til konsollen ved hjelp av 'WritLine ()' -funksjonen, så du bør se utdataene “Hei Linux” Når du utfører dette programmet:
Hvordan bruke utvidelsesmetode for å utvide heltallklassen
Anta at du vil legge til en ny metode i heltallklassen som avgjør om heltallet er jevnt eller rart. Du kan gjøre dette ved hjelp av en utvidelsesmetode, som vist nedenfor:
ved hjelp av system;Koden oppretter en utvidelsesmetode som er for Int -datatypen og Isven Funksjonen returnerer sant hvis inngangen er jevn, og falsk ellers.
I hovedsak har vi opprettet et heltallsvariabelt nummer og tildelt det verdien 10, og etter det kaller vi Iseven Extension -metoden på tallvariabelen, som returnerer sant siden 10 er jevn. Til slutt skriver vi ut resultatet til konsollen ved hjelp av 'WritLine ()' -funksjonen, så du bør se utdataene “10 er jevn” Når du utfører dette programmet:
Hvordan bruke utvidelsesmetode for å utvide listegrensesnittet
La oss si at du vil legge til en ny metode til Ilist Grensesnitt som bestemmer om listen er tom eller ikke og for å bruke en utvidelsesmetode, som vist nedenfor:
ved hjelp av system;I dette eksemplet har vi laget en utvidelsesmetode Isempty for ilist datatype, der T er en generisk type parameter. De Er tom Metoden returnerer sant hvis inngangslisten er null eller ikke har noen elementer, og falsk ellers. I hovedsak har vi laget en ny Liste kalt tall og kalte deretter Er tom Utvidelsesmetode på talllisten, som returnerer sant siden listen er tom. Til å begynne med skriver vi ut resultatet til konsollen ved hjelp av 'WritLine ()' -funksjonen, så du bør se utdataene “Listen er tom” Når du utfører dette programmet:
Konklusjon
Utvidelsesmetoder er en av de mest nyttige funksjonene i C# som lar programmerere utvide eksisterende typer med ny funksjonalitet uten å endre sin opprinnelige kode. Utvidelsesmetoder er definert i en statisk klasse og bruker "dette" Nøkkelord etterfulgt av typen som utvides til å indikere at de er utvidelsesmetoder. I denne artikkelen har vi sett tre eksempler på utvidelsesmetoder som utvider streng-, heltall- og ilistklassene.