NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
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
Adam Bartl
Člen
Avatar
Adam Bartl:9.11.2023 21:07

Ahoj,
mám specifický problém, na který nebude možná snadné odpovědět. V úvodu jsem čerstvý juniorem a proto potřebuji detailní popis, co udělat (zmáčknout) pro to, abych to řešení nalezl.
Na níže uvedeném odkaze je rozebrán interface INotifyProper­tyChanged. Zde v tomto příkladě není do události přiřazena ŽÁDNÁ metoda. Ve firmě říkali, že někde v dataGridView je tato metoda a je i tam i odkaz na tuto událost, kam je tato metoda uložena. Kde v kódu tuto metodu najdu? Chci nalézt tuto metodu a podívat se, co tato metoda dělá a vidět to přiřazování na událost PropertyChanged. Někde kdesi v kódu bude: PropertyChanged += metoda. Mě tedy zajímá, kde tato metoda je, jaký je kód této metody a to konkrétní přiřazení.Požádal bych o konkrétní postup typu: Klikni sem, sem a sem a tady vidíš tebou vytouženou metodu. Důležité je to pro mě, protože chci pochopit, co kam jde a co konkrétně dělá ta metoda. Pokud to fyzicky neuvidím sám, nepochopím nikdy, jak to funguje. Ve firmě se používá podobný příklad, ale nemohu ho uvést.

Mockrát děkuji a děkuji za ochotu daný problém řešit

Odkaz na problematiku:
INotifyProper­tyChanged Interface

Zkusil jsem: Snažil jsem se podle návodu ze stackoverflow nalézt pomocí kódu název této metody předtím než se v události spustí.
Bohužel ani nevím, zda jsem dospěl kódem uvedým níže opravdu názvu té metody, protože podle tohoto názvu jsem ji nalézt nedokázal.

MethodInfo info = PropertyChanged.GetMethodInfo();
MessageBox.Show(info.Name)

PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));

Chci docílit: Najít konkrétní metodu (její kód), co je přiřazena (uložena) do PropertyChanged

 
Odpovědět
9.11.2023 21:07
Avatar
Bugmaster
Člen
Avatar
Bugmaster:19.11.2023 22:10

Chápu to dobře, že se snažíž najít místo, kde se nastavuje event handler eventu PropertyChanged?

To si nastavuje konzument události. Typicky to tedy asi bude někde v útrobách frameworku.

V tom příkladu v dokumentaci bych asi začal pátrání v metodě Add třídy BindingList<T>. Takhle na první pohled by mi dávalo smysl, že si to pověsí handlery pří vytváření kolekce. Ale těžko říct.

Možná by stálo za pokus si někde stáhnout zdrojáky dotnetu zkusit udělat Ctrl+F přes celý solution :)

 
Nahoru Odpovědět
19.11.2023 22:10
Avatar
Adam Bartl
Člen
Avatar
Odpovídá na Bugmaster
Adam Bartl:24.11.2023 22:37

Vyzkouším, děkuji!

 
Nahoru Odpovědět
24.11.2023 22:37
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.