事件,委托,回调,INotifyPropertyChanged



假设我有以下内容:

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,所以我不知道它什么时候会。

所以基本上我想看如果属性设置为真,当它为真,我可以继续在ForEachMethod()的行动中的另一个动作。

即使我理解委托和事件的概念,我也不知道在这种情况下,当它们结合在一起时如何处理。

像下面的例子一样使用事件作为通知

public class A
{
    ...
    private void LaunchB()
    {
        var bObj = new B();
        bObj.OnTaskCompleted += TaskCompleted;
        bObj.StartWorking(); //some method call here
    }
    private void TaskCompleted(string status)
    {
        //notification from B comes
    }
    ...
}
public class B
{
    public delegate void TaskCompletedHandler(string status);
    public event TaskCompletedHandler OnTaskCompleted;
    private void DoWork()
    {
        if(completed)
        {
            ...
            if (OnTaskCompleted != null)
            {
               OnTaskCompleted("SUCCESS");
            }
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新