在A类列表中通知类A对B类对象的属性更改有什么好方法

Owe*_* D. 1 .net c# windows-runtime

我有A和B类如下:

public class A
{
  private List<B> myList;

  public List<B> MyList
  {
      get { return myList; }
      set { myList = value; }
  }

  private bool allComplete;

  public bool AllComplete
  {
    get { return allComplete; }
    set { allComplete = value; }
  }

  public void CalculateAllComplete()
  {
    foreach (B item in MyList)
    {
      if (!item.IsComplete)
      {
        AllComplete = false;
        return;
      }
    }
    AllComplete = true;
  }
}

public class B
{
  private bool isComplete;

  public bool IsComplete
  {
    get { return isComplete; }
    set { isComplete = value; }
  }
}
Run Code Online (Sandbox Code Playgroud)

每当属性IsComplete在类型A的对象中的类型B的任何对象上发生更改时,我都需要得到通知MyList.当发生这种情况时,我将调用该CalculateAllComplete方法来确定列表中的所有项是否都已完成.

有什么好办法呢?

Kzr*_*tof 5

我将在B类上实现INotifyPropertyChanged接口,并让A类实例订阅任何属性更改.