有没有办法让子列表与主列表的内容保持同步?

时间:2011-12-29 14:18:52

标签: c# list sublist

我将有一个'主列表'(最好是BindingList类型)。在另一个类中,我有一个子列表,它由“主列表”的某些元素组成。该类的每个实例都有不同的元素。有没有办法让每个子列表与“主列表”保持同步?

2 个答案:

答案 0 :(得分:0)

您可以通过扩展列表并添加复合对象来创建所需的列表类型,只要您更新“主”列表,也可以同步这些列表。

以下是我将如何在java中执行此操作,您可以在c#中执行相同操作但是知道我不记得确切的语法。你可以扩展你喜欢的列表类型。

public class MyList extends ArrayList {
    private List<Object> someOtherList;
    public MyList(){
        super();
    }

    public void setSyncList(List<Object> list){
        someOtherList = list;
    }

    @Override
    public boolean add(Object arg0) {
        boolean b = super.add(arg0);
        someOtherList.add(arg0); // here you can decide what action should be done to the syncList, it might not want to add all elements, same goes for the remove below
        return b;
    }

    @Override
    public boolean remove(Object arg0) {
        boolean b = super.remove(arg0);
        someOtherList.remove(arg0);
        return b;
    }

}

答案 1 :(得分:0)