Avatar billede ladefoged Nybegynder
03. juli 2009 - 12:17 Der er 4 kommentarer og
1 løsning

Send parametere igennem eventhandler

Jeg vil gerne kunne sende en variabel igennem en eventhandler.

Mit umildbare forslag ville være

watcher.Created += new FileSystemEventHandler(sendBesked(email));

public void sendBesked(string email)
{
  MessageBox.Show(email);
}

Men det fungere ikke helt som håbet, det fungere faktisk slet ikke :)

Er der nogen som har en bedre idé?
Avatar billede windcape Praktikant
03. juli 2009 - 12:36 #1

watcher.Created += new FileSystemEventHandler(
    (object s, FileSystemEventArgs a) => SendMessage(email)
);
Avatar billede windcape Praktikant
03. juli 2009 - 12:39 #2
http://msdn.microsoft.com/en-us/library/system.io.filesystemeventhandler.aspx

Som du kan læse kræves det at der benyttes en callback med signaturen

void (object sender, FileSystemEventArgs args)

Hvis du så vil have yderlige parameter med, skal du benytte et custom delegate, som kan simplifies ved den lambda expression jeg postede.
Avatar billede windcape Praktikant
03. juli 2009 - 12:41 #3
Derudover bør du faktisk sende de givne EventArgs med til din custom method, du skal sikkert bruge det på et eller andet tidspunkt:

public Program()
{
    string email = "windcape@experten.dk";

    watcher.Created += new FileSystemEventHandler(
        (object s, FileSystemEventArgs a) => SendMessage(email, a)
    );
}

public void SendMessage(string email, FileSystemEventArgs args)
{
    MessageBox.Show(email);
}
Avatar billede ladefoged Nybegynder
05. juli 2009 - 16:55 #4
Hej windcape tak for dine kommentarer, det ser ud til at det har løst mit problem, men vil jeg lige kigge nærmere på i morgen.

Vil du ikke smide et svar :)
Avatar billede windcape Praktikant
05. juli 2009 - 18:11 #5
oki
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



IT-JOB