各位路过的大神,调用 类的方法触发 该类自身的事件,可以吗?
贴上源码,请指正,非常感谢!///
///自定义类Command
///
class Command
{
private ArrayList result = new ArrayList(); //声明一个带参数的事件,参数为ArrayList型的数据
public delegate void UpdaterEventHandler(ArrayList data); public event UpdaterEventHandler Updater; //触发事件
public void OnUpdater(ArrayList data)
{
if (this.Updater != null)
{
this.Updater(data);
}
} //在该类中定义一个触发事件的方法
public void Update()
{
//触发事件
OnUpdater(result);
}
}
///
///调用
///
Command cmd = new Command();
private void Form1_Load(object sender, EventArgs e)
{
//我是调用 类的方法触发 该类自身的事件,可以吗
cmd.Updater += new ApiCmd.UpdaterEventHandler(BindDgv);
cmd.Update();
}
//处理方法
private void BindDgv(ArrayList data)
{
///////////////// }
贴上源码,请指正,非常感谢!///
///自定义类Command
///
class Command
{
private ArrayList result = new ArrayList(); //声明一个带参数的事件,参数为ArrayList型的数据
public delegate void UpdaterEventHandler(ArrayList data); public event UpdaterEventHandler Updater; //触发事件
public void OnUpdater(ArrayList data)
{
if (this.Updater != null)
{
this.Updater(data);
}
} //在该类中定义一个触发事件的方法
public void Update()
{
//触发事件
OnUpdater(result);
}
}
///
///调用
///
Command cmd = new Command();
private void Form1_Load(object sender, EventArgs e)
{
//我是调用 类的方法触发 该类自身的事件,可以吗
cmd.Updater += new ApiCmd.UpdaterEventHandler(BindDgv);
cmd.Update();
}
//处理方法
private void BindDgv(ArrayList data)
{
///////////////// }
Update()方法为线程调用的方法,
界面是被动更新的,主控权不在界面上,而在线程手上。
主控权还是在界面上,只不过是让界面读取了一个Command的一个实时变量而已。
cmd.Update()只是在demo里这样描述,Update()为线程调用方法,界面上只要+=该事件的处理方法就好啊。