typeof(X).GetEvents()メソッドを使うと、該当クラスだけでなく
継承しているクラスのイベントまで取得されます。
該当のクラスのイベント情報のみを抜き出すには、
System.Reflection.BindingFlags列挙体を指定できる方の
メソッドを利用します。
指定するフラグのビットマスクは
BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly
になります。
以下、サンプル。
using System; using System.Reflection; using System.Windows.Forms; namespace MyTest{ public class Test{ public void Execute(){ BindingFlags declaredOnlyEvents = (BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly); foreach(EventInfo e in typeof(DataGridView).GetEvents(declaredOnlyEvents)){ Console.WriteLine(e.Name); } } static void Main(){ new Test().Execute(); } } }