Kezdőoldal » Számítástechnika » Programozás » C#-ban az eventeknél miért...

C#-ban az eventeknél miért mindig sima EventArgs típus van megadva az "e"-nek, miért nem az eventre vonatkozó pl. MouseEventArgs?

Figyelt kérdés

Pl. ha van egy eljárásom, ami egy gomb Click eventjéhez van rendelve, akkor a Visual Studio automatikusan olyan eljárást ír a forrásba, melynek az "e" paramétere EventArgs. Ezt nekem konvertálni kell MouseEventArgs-zá, ha használni szeretném a klikkről kapott infót.

MouseEventArgs ee = (MouseEventArgs)e;

Úgy látszik, a Click event EventHandlert "fogad el", és MouseEventHandlert nem. De miért? :\


2011. jún. 26. 12:56
 1/2 anonim ***** válasza:
próbáld a MouseClick event-et
2011. jún. 26. 13:07
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

Ismerős az a fogalom, hogy öröklődés? Az OOP egyik alapköve, és ebben a fajta megvalósításban a függvényparamétereknek meg kell egyezniük az ősben és a leszármazottban ahhoz, hogy az a függvény dinamikusan kötődhessen. És ezek az eseménykezelők ezek dinamikus függvények, mert van a háttérben egy osztályhierarchia.


Képzeld el, hogy van egy A osztályod, és van egy B, ami leszármazik az A-ból.

Az A osztálynak van egy metódusa, ami EventArgsot fogad el, és a B leszármazottban ezt úgy írnád felül, hogy MouseEventArgsot fogadjon el. Ekkor egy A referencián keresztül elért B objektumnak át lehetne adni egy olyan EventArgs referenciát, ami nem MouseEventArgs típusú objektumra mutat, és a fordító SEMMIT nem tudna tenni, hogy ezt ellenőrizze.

2011. jún. 27. 11:13
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!