public bool deleteSelf() { if (type() == ADType.OU) { foreach (DirectoryEntry de in de_.Children) { ADItem item = new ADItem(de); if (!item.deleteSelf()) return false; } } try { DirectoryEntry p = de_.Parent; p.Children.Remove(de_); p.CommitChanges(); } catch (Exception) { return false; } return true; }