Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
vodslon
Člen
Avatar
vodslon:26.5.2015 9:16

Pěkný den,

Mám takovou začátečnickou ohledně Eventů.

Bude to trochu zmatený, protože mi to nefunguje, co jsem myslel, že mi fungovat musí.

Můj zvyk...

Udělám si třeba

public class  MyEventArgs : EventArgs
   {
       public DateTime Now = DateTime.Now;
       public string second{get;set;}

       public MyEventArgs(string propertyName)
       {

       }


   }

potom ve své třídě, která z ničeho nedědí

public event EventHandler<My­EventArgs> PropertyChanged;

A tu potom při setu property můžu raisnout PropertyChanged(this, new MyEventArgs(Jme­noProperty)); (nekoukejte ted pls že tam nemám nikde ošetřené, jeslti není handler null)

pak mám třeba aplikaci trida t = new t(); t.event += new EventHandler<My­EventArgs>((sen­der,e) => něco)

a ted dojdu k dotazu, jak si udělat vlastní INotifyProper­tyChanged, přepsat interface tak, aby kromě jména property nosila třeba i datum ted přesně jak to mám výše, abych to neměl jakoby přes vlastní EventHandler, ale přes PropertyChange­EventHandler, moc děkuji za odpověd, pokud je to špatně sepsané rád opravím.

díky a pěkný den

 
Odpovědět
26.5.2015 9:16
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na vodslon
Jan Vargovský:26.5.2015 12:03

Udělat si vlastní interface, který definuje PropertyChanged se tvými argumenty. A pro zachování zpětné kompatibility se starým INPC bych z něj podědil.

Ty se díky atributu CallerMemberName stejně nemusíš nějak násilně vázat k těmto věcem a udělat si je posvojem.

 
Nahoru Odpovědět
26.5.2015 12:03
Avatar
vodslon
Člen
Avatar
Odpovídá na Jan Vargovský
vodslon:26.5.2015 14:51

Já to asi nebudu řešit, vlastně mi šlo o to, abych měl vlastní iterface a jak přepsat tu Inotify, ale ono to jde prostě vyřešit, že si napíšu vlastní třídu, co dělá uplně to stejné. Nevím, jak to udělat, ale vím jak to obejít a to asi stačí.

 
Nahoru Odpovědět
26.5.2015 14:51
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.