有没有办法让任务等到任务上下文中的某种标志被触发?以此代码为例:
class SomeClass
{
public event Action SomeEvent;
public void triggerEventIn1Sec()
{
Task.Run(() =>
{
System.Threading.Thread.Sleep(1000);
SomeEvent.Invoke();
});
}
}
class Program
{
static void Main(string[] args)
{
Task mtask1 = SomeTask();
mtask1.Wait();
Console.WriteLine("Task1 completed");
Console.ReadLine();
}
public static Task SomeTask()
{
return Task.Run(() => {
var c = new SomeClass();
c.SomeEvent += () =>
{
Console.WriteLine("Some Event invoked");
};
c.triggerEventIn1Sec();
});
}
}
在Main函数中等待SomeTask()函数返回的Task。在触发SomeTask任务中的事件之前完成等待。
在此任务函数中是否有指定
return Task.Run(() => {
var c = new SomeClass();
c.SomeEvent += () =>
{
Console.WriteLine("Some Event invoked");
};
c.triggerEventIn1Sec();
});
要等到“完成任务”之前触发事件?