Bruksområder for Extention methods

Da extention methods ble annonsert i C# så syntes jeg med en gang at det hørtes ut som en veldig lur ide, men jeg klarte ikke å komme på så veldig mange områder hvor jeg ville bruke det. Jeg så på det først og fremst som en måte å utvide typer som allerede var definert av andre.

Nå har jeg derimot nettopp sett episode 125 av DNRTV, hvor Bill Wagner brukte god tid på å illustrere tre konkrete bruksmønstre av extension methods som faktisk gav mening. For å huske dem lister jeg dem her:

  1. Når man lager interface vil man kunne oppnå renere interface ved å skille ut enkelte metoder som extension methods.
  2. I stedet for å implementere sterkt typede kolleksjoner ønsker man å benytte generics. Da kan man i tillegg implementere extension methods for generiske kolleksjoner av den gitte typen for å implementere kolleksjons-spesifikk funksjonalitet.
  3. Av og til kan det gi mening å gi enums funksjonalitet. Dette kan man få til ved hjelp av extension methods.

Bill Wagner, forfatter av More Effective C#, forklarer dette mye bedre. Last ned episode 125 her.

Kategorier: .net ninja, Podcasts.
RSS feed for kommentarene. Tilbaketråkk.

Én kommentar til “Bruksområder for Extention methods”

  1. Torbjørn Says:

    Notat til glede for meg selv og andre: jeg kom over et par steder man kan finne noen nyttige extention methods…

    dotNetExt – .NET Extension Method Library
    http://www.codeplex.com/dotNetExt
    … et lite biblotek med noen nyttige ext. methods.

    http://www.extensionmethod.net/
    … en database over publiserte ext. methods. Her kan man stemme på metodene, og man kan lære nyttige ting av å lese koden.

Skriv en kommentar

Tillatte tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Einar W. Høst: Det er jo læringen som gjør det morsomt! Se også http://norvig.com/21-days...

Pagliacci: OBS! tl;wr. Det er vel akuratt det jeg sliter med med min læring innenfor pr...

Torbjørn: La oss anta to ulike definisjoner av Template Method pattern - de to ytterpunkte...

Lars-Petter: Hei igjen. Siden du inviterer til å ta diskusjonen i bloggen, og har tatt deg t...

Torbjørn: Lars-Petter: Det er én måte å se det på. Det er absolutt fortsatt Template M...

Lars-Petter: Hei. Har du ikke i prinsippet her gått over fra Template Method (arv) til Strat...

Christian Abildsø: I alle fall i C#, så føles dette som kode som blir mer fleksibel men vanskelig...

Torbjørn: Hei Henrik, og takk for tilbudet. Ble oppmerksom på Rasberry Pi for under en uk...

Henrik Sandaker Palm: Ang. større hobby prosjekt. Du er som er en slik rakker på programmering har j...

Øivind Nilsen: Slutt å bruke mobilnummeret mitt som eksempel !...

Mulig relaterte linker

 Hold deg oppdatert

Søk i bloggen

Ferske innlegg

  • En historie om programmering
  • Template Method del 4: Multippel arv
  • Template Method Intermesso
  • Template Method del 3: Bare funksjoner
  • Kategorier

  • .net ninja (37)
  • Bøker (17)
  • Diverse prosjekter (35)
  • DSL (10)
  • Erlang (10)
  • F# (5)
  • Hardware (1)
  • Jobb (77)
  • Julekalender (51)
  • kjempekjekt.com (23)
  • LISP/Clojure (33)
  • NNUG / community (60)
  • O/RM & databaser (10)
  • Off topic (116)
  • OO-design/clean code (30)
  • Podcasts (14)
  • Polyglot (77)
  • Ruby (27)
  • Silverlight / RIA (3)
  • Software/verktøy (20)
  • Softwareutvikling (21)
  • Testing / TDD (30)
  • the contiki strip (13)
  • User experience (3)
  • WCF (3)
  • Webutvikling (32)
  • WPF (9)
  • WTF (12)
  • Last ned Wallpaper

    Programmeringsbloggens tøffe skrivebordsbakgrunn med snippets fra ulike språk laster du ned her!

    Abonner via epost

    Om du vil kan du få alle nye blogposter tilsendt til din epost. Abonner nå, det er kjempeenkelt!

    Meta