c# 判断一个对象的某个事件是否被注册

var property = this.BindingSource[DsQueryProc.Tables[0].TableName].GetType().GetProperty("DataSourceChanged", BindingFlags.Instance | BindingFlags.NonPublic);
if(property==null)
   this.BindingSource[DsQueryProc.Tables[0].TableName].DataSourceChanged += Frm_BaseQuery_DataSourceChanged;

 this.BindingSource[DsQueryProc.Tables[0].TableName],这个是BindingSource对象,DataSourceChanged是事件名。

这条语句的意思就是获取BindingSource对象的DataSourceChanged事件,如果结果为NULL,则没有注册这个事件

你可能感兴趣的:(C#,注册事件)