我有一些包含在Bar对象中的Foo对象:
class Foo
{
int uniqueId; // every Foo has a different ID.
List<int> data;
}
class Bar
{
Foo foo = new Foo();
}
有时我想合并属于不同Bars的Foo对象,如下所示:
public void MergeWith(Bar otherBar)
{
this.foo.uniqueId = otherbar.foo.uniqueId;
this.foo.data.AddRange(otherbar.foo.data);
otherBar.foo = this.foo;
// Now both Bar objects refer to the same Foo, which contains all the data.
}
Bar bar1;
Bar bar2;
bar1.MergeWith(bar2);
这很好。问题是这些Bar对象已将对Foo
个对象的引用分发给Baz
个对象。 Baz
有一个List<Foo>
来自多个来源。
如何让Baz
个对象知道他们的Foo
何时过时? Foo
对象是否应该引用其“更新”Foo
链接列表样式?或者有更好的方法吗?
答案 0 :(得分:0)
我只能想到凌晨的两种方式:
HTH
马里奥