Avatar billede brian0905 Nybegynder
04. juli 2007 - 10:50 Der er 2 kommentarer og
1 løsning

Intreface og dropdown kontrol

Jeg har en række plugins som implementerer et interface:

    public interface IPlugin
    {
        string Name { get; }
    }

Jeg loader så alle de .dll assemblies jeg finder i et bestemt underbibliotek, instantierer dem og smider dem i en liste som jeg returnerer til UI. I UI har jeg en dropdown som jeg smider mine "objekter" (typen IPlugin) ind i og sætter DisplayMember til "Name".

  this.cbxProduct.DisplayMember = "Name";
  foreach (IAcceleratorPlugin plugin in plugins)
  {
    this.cbxProduct.Items.Add(plugin); 
  }

problemet er imidlertidig at den ikke viser "Name" propertyes, men derimod ToString() metoden, for hvis jeg overloader den til at vise navn, så sr det fint ud. Jeg ville dog gerne kunne bruge min property til det. Nogle der ved hvad der er galt/skal til?
Avatar billede brian0905 Nybegynder
04. juli 2007 - 10:51 #1
oops, det hedder naturligvis IPlugin og ikke IAcceleratorPlugin.
Avatar billede brian0905 Nybegynder
04. juli 2007 - 11:05 #2
...eller er det bedre at lave det uden interface, og så nedarve fra en plugin base klasse?
Avatar billede brian0905 Nybegynder
04. juli 2007 - 11:24 #3
Har valgt at nedarve fra en basePlugin til at holde alle properties osv. og i hvert plugin implementere mit IPlugin til ren "eksekvering" af funktionalitet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester