Downcast a generic List<T> to a base type

27. February 2008

Sometimes it is usefull to downcast a specific List<T> to a List of object that T inherited from, like an interface or so. This is the way to get the job done. 

We start with the following piece of code:

   1: // your class definition
   2: public class AlfaRomeoCar : ICar
   3: {  
   4:   ...
   5: }
   6:  
   7: // A method that only accepts List<ICar>
   8: public static List<Part> LoadAllCarPartsWithSerial(List<ICar> cars)
   9: {
  10:   ...
  11:   return resultList
  12: } 
  13:  

 

But what do we do if we need to supply a List<AlfaRomeoCar> to the LoadAllCarPartsWithSerial(List<ICar>) method? Well we can downcast the objects in the list to the base interface to use it as a parameter.

   1: List<ICar> cars = alfaCars.ConvertAll(List<AlfaRomeoCar>.DownCast<AlfaRomeoCar, ICar>());

 

And here is the DownCast converter method:

   1: public static Converter<T, U> DownCast<T, U>() where T : U
   2: { 
   3:   return delegate(T item) { return (U)item; };
   4: }

 

Et voila,I hope this helps.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Development ,

Eiken trap vernissen

26. February 2008

AVX_ICONS HOMEN

Update: Lees ook deel 2

Momenteel zijn we bezig met onze trap te bewerken. Het origineel was een massief eiken trap met boenwas erop. Zeer mooi als je van donkere eik houdt maar het paste niet echt in het plaatje dat we voor ogen hadden voor onze gang. Dus moest de boenwas eraf en uit de nerven. We zijn dan maar begonnen om met stalen borstels het geheel proper te borstelen. Na ongeveer 2 weken avondwerk was het meeste wel gedaan. Daarna hebben we met een zware afbijt-thinner de trap nog eens nagespoeld om zeker te zijn dat alle vuilresten en vet weg waren. Opgelet, zet hier steeds een geëigend masker voor op om geen giftige dampen in te ademen.

Nu hebben we het eerste deel van de trap afgewerkt met een synthetische licht wit/grijze beits om de trap iets lichter te maken.

Maar nu zijn we dus op zoek naar een goede vernis die een tijdje meegaat zonder te verkleuren of alle nerven dicht te legt. Wat het zal worden weten we nog niet maar de short list wordt kleiner en kleiner. Gaan we voor synthetisch die zowiso sterker is maar sneller vergeeld in donkere ruimten (synthetische vernis vergeeld sneller in het donker door de afwezigheid van UV-licht) of gaan we voor watergedragen PU vernis die iets minder sterk is maar niet zo snel vergeeld. Nog een voordeel van watergedragen vernis is het feit dat hij zo goed als reukloos is en beter voor het milieu.

Nog even verder uitzoeken nu ...

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

, , ,

Back online v453.0

26. February 2008

AQUA ICONS SYSTEM WINDOWS SETTINGS Eindelijk terug online met een .NET blog.

Ik heb het eens geprobeerd om vreemd te gaan met PHP maar in de 2 maanden dat mijn PHP blog online was is men er tot 2 maal toe in geslaagd om hem offline te halen. Dus dan maar terug naar mijn oude vertrouwde .NET

So here we go...

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5