.NET reflection
Jeg skal ha' lavet et C# windows program (X), der kan køre et eller flere "add-in" moduler. Add-in modulet køres således at det får dens egen tab på (X)'s form - modulet adderes til tab'en som en kontrol, og skal derfor nedarve fra en control. Jeg har tænkt mig at gøre det på følgende måde:1) Definere et interface IAddIn med nødvendige metoder.
2) IAddIn kompileres som dll, og registreres i GAC'en når (X) installeres.
3) Alle Add-in moduler skal implementere IAddIn.
4) (X) ved præcis hvad modulet hedder og hvor det ligger på harddisken
5) (X) starter et modul ved at addere det på en ny tab. (X) kommunikerer med modulet vha IAddIn.
Metoden virker, men jeg har nogle spørgsmål:
Interfacet skal udbygges, hvilket betyder at (X) skal udgives i en ny version.
* Hvad kalder man det nye interface?
* Kan det lade sig gøre at beholde det gamle navn IAddIn og stadig være i stand til at supportere forskellige versioner af IAddIn?
* Hvad gør man for at understøtte alle tidligere interfaces?
