public Tree RemoveTree(object owner) { Tree t = this.SearchParentByOwner(owner); if (t != null) { foreach (Tree t0 in t) { if (_map.IsSameInstance(t0.Owner, owner)) { t.Remove(t0); break; } } } return(t); }
public virtual Tree SearchParentByOwner(object owner) { ObjectIDmap map = Root.Map; foreach (Tree t in this) { if (map.IsSameInstance(t.Owner, owner)) { return(this); } else { Tree t0 = t.SearchParentByOwner(owner); if (t0 != null) { return(t0); } } } return(null); }
public Tree GetChildByOwner(object owner) { ObjectIDmap map = Root.Map; foreach (Tree t in this) { if (map.IsSameInstance(t.Owner, owner)) { return(t); } else { Tree t0 = t.GetChildByOwner(owner); if (t0 != null) { return(t0); } } } return(null); }