Vánoční nadílka Vánoční nadílka
Vánoční akce! Daruj lepší budoucnost blízkým nebo sobě. Až +50 % zdarma na dárkové poukazy. Více informací

Diskuze: c# vytvoření události

C# .NET .NET (C# a Visual Basic) c# vytvoření události American English version English version

Aktivity (3)
Avatar
niderle.l
Člen
Avatar
niderle.l:1. června 8:27

Ahoj, nevím jak mám přesně v nové třídě vytvořit v c# událost, kterou si budu moci volat někde jinde.

Zkusil jsem: Z VB.net znám raise event, ale tam jsem to použil v jiném kontextu a to ve formuláři, který měl v sobě vložený user control, takže se tam dalo jednoduše na ten event dostat, ale zde právě nevím.

Chci docílit: Mám vytvořenou třídu, kterou si volám pomocí následujícího příkazu:

class trida = new trida();
trida.Send();

V procedůře Send se děje něco, a tam se snažím na chvilku vyskočit ven do původního místa, abych zapsal data. Jedná se totiž o komunikaci, takže bych tímto chtěl uživateli ukázat co jsem poslal a potom i co jsem dostal za odpověď, ale o tu odpověď mi momentálně nejde.

 
Odpovědět 1. června 8:27
Avatar
Odpovídá na niderle.l
Erik Šťastný:1. června 8:33

.Send je synchroní metoda? Co kdyby ti prostě rovnou ona vrátila co odeslala a co dostala zpět?

 
Nahoru Odpovědět 1. června 8:33
Avatar
niderle.l
Člen
Avatar
Odpovídá na Erik Šťastný
niderle.l:1. června 9:00

Ona ty data vrací, ale funkce Send má v sobě zakomponovanou komunikaci s cizím serverem a já potřebuji právě před tím než dojde k odeslání na daný serer vrátit data, aby uživatel viděl co posílá. Jedná se o testovací aplikaci, takže to normální uživatel ani nemá.

 
Nahoru Odpovědět 1. června 9:00
Avatar
Odpovídá na niderle.l
Erik Šťastný:1. června 9:10

A kde vkládáš ty data co odesíláš? Jsou jako proměnná někde v "trida" jenom? Co si je od tama prostě jenom přečíst před zavoláním .Send()

Podle mě se snažíš jít s kánónem na vrabce.

 
Nahoru Odpovědět 1. června 9:10
Avatar
niderle.l
Člen
Avatar
Odpovídá na Erik Šťastný
niderle.l:1. června 9:49

Data vkládám do třídy pomocí procedur do objektů, ale funkce send mi to spojí, rozřadí podle kritérií a potom postupně odesílá.

 
Nahoru Odpovědět 1. června 9:49
Avatar
Odpovídá na niderle.l
Erik Šťastný:1. června 10:37

No a co kdyby jsi to pospojování a send rozložil na dvě metody?

.PrepareData která ti vrátí to co se bude odesílat
.SendData kterou zavoláš potom

 
Nahoru Odpovědět 1. června 10:37
Avatar
niderle.l
Člen
Avatar
niderle.l:1. června 12:21

Nakonec jsem byl schopen najít a udělat řešení podle tohoto:
https://docs.microsoft.com/…enthandler-1?…

 
Nahoru Odpovědět 1. června 12:21
Avatar
Odpovídá na niderle.l
Erik Šťastný:1. června 12:49

Jak chceš no, mě jen pořád přišlo, že chceš na něco tak triviálního jít složitě :)

 
Nahoru Odpovědět 1. června 12:49
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 8 zpráv z 8.