Avatar billede cms Nybegynder
17. juli 2002 - 18:35 Der er 2 kommentarer og
1 løsning

hvordan: procedure som parameter udenfor unsafe context

Hej med-eksperter!

Jeg har brug for lidt hjælp.
Jeg har to procedurer (el. functions eller hvad det nu hedder i c#):

void Hest(procedure Dyr){
}

void Gris(){
}

Nu ville jeg gerne kalde Hest således:
Hest(Gris);
Sådan at Hest under kørslen af sig selv kunne kalde Dyr og så bliver Gris kaldt.

Men hvordan gør man det? Man kan vel gøre det med void* Dyr, men det kræver unsafe context som jeg jo ikke ønsker.

Håber I kan hjælpe

Mvh
Christian Scheuer
Avatar billede nico26 Nybegynder
17. juli 2002 - 20:13 #1
Du skal bruge delegates

using System;

public class Test {

  public delegate void DyreProc();

  public void Hest(DyreProc proc) {
    Console.WriteLine("Hest()");
    proc();
  }

  public void Gris() {
    Console.WriteLine("Gris()");
  }

  public static void Main() {
    Test t = new Test();
    t.Hest(new DyreProc(t.Gris));
  }

}
Avatar billede cms Nybegynder
17. juli 2002 - 20:26 #2
ahh. Mums hvor jeg elsker det sprog =)
Tusind tak -- jeg tester det lige hvis det er iorden
Avatar billede cms Nybegynder
17. juli 2002 - 21:37 #3
Hov - hej igen! Det virkede. Tusind tak
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