Wywołanie metody, której nazwa zapisana jest w stringu

0

Cześć Koledzy,

Zwracam się do Was oczywiście z pewnym problemem. Otóż w wyniku zapytania do bazy danych dostaję nazwę metody, którą chcę wywołać w wyniku zdarzenie EventClick dla przycisku. Np. dostaję nazwę "Button_Dodaj_Click" i chciałbym ją powiązać ze zdarzeniem this.Button_Dodaj_Click.Click += new EventHandler("Button_Dodaj_Click");.

Poproszę Was o pomoc.

0

Daj kod

0

Kod? No cóż, za dużo go nie będzie

string pNazwaMetody = "this.BTN_Dodaj_Click";
this.BTN_Dodaj.Click += System.EventHandler(...);

W miejscu "..." chcę wywołać metodę, której nazwa jest w zmiennej pNazwaMetody. Czyli coś takiego:
this.BTN_Dodaj.Click += System.EventHandler(this.BTN_Dodaj_Click);
Nie wiem co więcej można teraz napisać ;)

0

Obczaj System.Reflections - możliwe, że można to zrobić

0

Hmm a nie możesz zrobić tego z użyciem konstrukcji warunkowej?

//pisane z palca
string zmienna = "wartość_zwrócona_przez_baze";

switch(zmienna)
{
case "wartość_zwrócona_przez_baze": this.BTN_Dodaj.Click += System.EventHandler(this.BTN_Dodaj_Click); break;
case "inna_ wartość_zwrócona_przez_baze": this.BTN_Dodaj.Click += System.EventHandler(this.BTN_Dodaj_Click2); break;
...
}
0
string nazwa_metody = "BTN_Dodaj_Click";
BTN_Dodaj.Click += Delegate.CreateDelegate(typeof(EventHandler), this, nazwa_metody) as EventHandler;

// masz błąd w stopce - "nieduże" pisze się razem - Ł

1 użytkowników online, w tym zalogowanych: 0, gości: 1