Bruksområder for Extention methods


tirsdag 16. desember 2008 Podcasts C#

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.


comments powered by Disqus