Как, используя рефлексию, получить перечень событий, связанных с той же кнопкой? - C#
Формулировка задачи:
Не имя события- имя события и дурак получит. А само событие! Ну то есть: создадим форму и кинем на неё кнопку.
я так-то в объекте EventInfo нормально поковырялся. И в MemberInfo (базовый для EventInfo) тоже смотрел- ничё не нашёл.
эта вот штука имеет тип EventHandler; вот поля такого типа и надо искать в недрах EventInfo, но у меня не получилось. Ребята, может вы мне поможете?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Reflection; namespace WindowsFormsApplication6 { public partial class Form1 : Form { public Form1() { InitializeComponent(); //Вот так мы добавим обработчик события программно к кнопке this.button1.Click += new System.EventHandler(this.method); Type t = typeof(System.Windows.Forms.Button); EventInfo [] e= t.GetEvents (); //Поехали программно перечислять события, связанные с этой кнопкой. for (int i = 0; i < e.Length; i++) { //А вот тут я пытаюсь программно добавить обработчик ко всем событиям this.button1.(e[i]/*ЧЁ ТУТ ПИСАТЬ?*/)+=new System.EventHandler(this.method); //Ну а вот так можно получить имя, это просто string ima= e[i].Name; } } private void method (object sender, EventArgs e) { //этот метод для понта просто } } }
this.button1.Click
Решение задачи: «Как, используя рефлексию, получить перечень событий, связанных с той же кнопкой?»
textual
Листинг программы
AddEventHandler(object, System.Delegate)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д