【发布时间】:2015-08-14 07:03:14
【问题描述】:
假设我有以下内容:
class a
{
List <SomeType> actions;
ForEachMethod()
{
foreach (action in actions)
{
OtherFucntion(action);
}
}
}
class b
{
public Bool WasDoSomeThingSuccesful;
OtherFunction (SomeType action)
{
WasDoSomeThingSuccesful = false;
DoSomeThing();
}
}
现在我想要实现:DoSomeThing() 是一些 JS,它会将 WasDoSomethingSuccesfull 的值更改为 true,但它是 async,所以我不知道什么时候会。
所以基本上我想观察该属性是否设置为 true,当它为 true 时,我可以继续 ForEachMethod() 中的另一个动作。
即使我理解委托和事件的概念,我也不知道在这种情况下如何处理它..
【问题讨论】:
-
在 ASP .NET、winform 或 WPF 中工作?
-
当
b班级工作完成时,您想通知班级a吗? -
没错,但如果有其他方法可以处理这个问题,我真的对所有事情都持开放态度,如果这可以通过添加一些新的类或编辑方法来完成,我不介意。我的问题是 JS 更改了异步属性,所以我不能执行 if (WasDoSomeThingSuccesful) {otherfunction ()} 之类的操作。目前我只是在使用 Thread.Sleep(value),但它是无效的,如果操作更复杂,可能会导致睡眠值不够。
-
但这两个类没有相互关联。
a不调用b反之亦然? -
我们可以使用事件通知启动类
b的类
标签: c# events callback delegates inotifypropertychanged