我有下面的代码,我在处理事件的两倍。不过,我总是希望确保mynewclass
总是先处理事件,然后触发本地事件处理程序代码。我明白了MyClass的事件应该首先开火,因为这是第一次创建一个,但因为线程和入队正在发生,我认为它的时间太长及其在做myhandleeventlocal
东西之前,我希望它这样做。任何方式,我可以等待它发生?优先化事件处理程序
public MyMainClass
{
private MyMethod()
{
MyClass mynewclass = new MyClass();
mynewclass.myObject += MyHandler(myhandleventlocal);
mynewclass.loadedevent += EventHandler(loadedevent)
}
private void myhandleventlocal()
{
//do stuff
}
private void loadedevent()
{
//do some stuff
}
}
public MyClass
{
public MyObject myObject;
public event loadedevent;
public MyClass()
{
myObject = new MyObject();
myObject += MyHandler(myhandlevent);
}
private void myhandlevent(long value, string detail)
{
//Start a thread
//Enqueue value and detail
//On seperate thread dequeue value and process it
//Raise loadedevent event
}
}
更新:我更新了我的问题和代码来演示问题。
-1:您的代码不编译。 – 2010-07-29 18:11:51
它不应该!这是一个粗略的例子。 – Jon 2010-07-29 18:34:27