Avatar billede kurtspurt Nybegynder
22. november 2005 - 00:26 Der er 8 kommentarer

delegates events eller andet

Hej

jeg har to klasser a og b i to forskellige namespacees

a opretter en ny enstans af b og kan gøre forskellige ting.

nu vil jeg gerne kunne give besked fra min instans af b til a om at der er sket noget.

jeg vil mene at der skal bruges delegates eller events, men jeg kender end ikke forskellen på de to.
Avatar billede alex_sleiborg Nybegynder
22. november 2005 - 07:02 #1
Avatar billede dr_chaos Nybegynder
22. november 2005 - 07:05 #3
Avatar billede alex_sleiborg Nybegynder
22. november 2005 - 07:22 #4
Rigtig god artikel fra udvikleren :)
Avatar billede dr_chaos Nybegynder
22. november 2005 - 07:33 #5
ja det synes jeg også :)
Avatar billede kurtspurt Nybegynder
22. november 2005 - 14:06 #6
dr_chaos --> det var lige det jeg skulle læse for at forstå det. Smid et svar.

til andre der læser dette problem for at finde en løsning til samme type problem:  min løsning blev Exceptions i stedet for, så kig lidt efter det. evt på http://www.codersource.net/csharp_tutorial_exceptions.html
Avatar billede dr_chaos Nybegynder
22. november 2005 - 14:11 #7
svar :)
Avatar billede driis Nybegynder
22. november 2005 - 14:16 #8
Hvis jeg lige må skyde en kommentar ind, synes jeg det er en rigtig dårlig idé at bruge Exceptions til kommunikation mellem objekter. Exceptions er til fejlhåndtering.

Brug hellere events, en beskedkø eller noget lignende. I mange situationer, er der heller ikke noget galt i at lade b kalde en metode i a; hvis ellers b kan/må kende sin instans af a.

Events og delegates super-kort:
En delegate er en datatype der kan "pege på" en funktion. (Lidt ligesom funktionspointere i C/C++)
På en event kan du koble en delegate, således at delegate'n bliver kaldt (og dermed funktionen i den anden ende). Fordelen er, at du får en løs kobling mellem den klasse, der producerer eventen og den klasse, der konsumerer den.
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