Posts
48
Comments
142
Trackbacks
26
Reflection: estrarre l’unico tipo di un assembly che implementa un’interfaccia


Oggi mi si è presentata la necessità di dover estrarre da un assembly, di cui conoscevo solo il nome (AssemblyName.dll), l’unico tipo che implementasse una determinata interfaccia (IFoo).

Bene…non essendo un grande esperto di Reflection e di tutto quanto le gravita attorno, non ho avuto scelta: partire dai test!!!
NOTA: avrei fatto lo stesso anche se sapevo dove andare a parare ;-)

Step01

L’assembly “AssemblyWithOneContainer” è un assembly che, come dice il nome stesso, contiene un solo oggetto che implementa l’interfaccia richiesta.
Ok, ora che la strada è tracciata posso provare ad implementare la funzionalità…reflection & LINQ si sono rivelati un’ottima accoppiata per risolvere la situazione in modo “brillante”. Ecco la soluzione:

Step02

o in modo ancora più compatto:

Step03 

- melkio -

posted on martedì 25 novembre 2008 16.34 Print
Comments
No comments posted yet.

Post Comment

Title *
Name *
Email
Url
Comment *  
Please add 6 and 6 and type the answer here: