Как, используя рефлексию, получить перечень событий, связанных с той же кнопкой? - 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)