Czy wywołanie Clear powoduje również usunięcie elementów?
Wiele razy istnieje jasna metoda, która usuwa wszystkie przedmioty ze zbiorów, czy te przedmioty są również usuwane.
Lubić,
toolStripMenuItem.DropDownItems.Clear();
jest wystarczające, czy powinienem zadzwonić w ten sposób:
foreach (ToolStripItem item in toolStripMenuItem.DropDownItems)
{
toolStripMenuItem.DropDownItems.Remove(item);
item.Dispose();
}
Edycja: Cóż ToolStripItem to przykład, a nie pytanie, dla tych, którzy mówią, że wystarczy Clear, znalazłem inny przykład, TabControl ma także kolekcję przedmiotów i przejrzystą metodę. Ale TabControls mogą mieć złożone kontrole (przynajmniej ja mam), które muszą być jawnie Dispose (nawet jeśli są one automatycznie usuwane w pewnym momencie przez GC, ponieważ zabierają ogromną pamięć). Myślę, że najlepszą odpowiedzią jest komentarz divo, aby pozbyć się przedmiotów, a następnie zadzwoń.