我需要一个解决方案:如何拦截ISet.Add方法,所以我不需要做child.Parent = parent,但是jus parent.Children.Add(children);
public class MyClass
{
public MyClass Parent;
public ISet<MyClass> Childrens;
}
我想这样做:
var mc = new MyClass();
var mc2 = new MyClass();
mc.Childrens.Add(mc2);
而不是
var mc = new MyClass();
var mc2 = new MyClass();
mc.Childrens.Add(mc2);
mc2.Parent=mc;
答案 0 :(得分:3)
我只需创建一个AddChild
方法即可。
您也可以像Frederik演示的那样将公共属性公开为只读集合...
答案 1 :(得分:0)
public IList<MyClass> Childrens