Я работаю над формой окна, которая имеет TabControl с именем tabDocuments. Я наткнулся на этот фрагмент кода, который удаляет все страницы из TabControl.Удалить TabPage: Dispose или Clear или оба?
for (int i = tabDocuments.TabPages.Count - 1; i > -1; i--) {
tabDocuments.TabPages[i].Dispose();
}
tabDocuments.TabPages.Clear();
Лицо, написавшее этот код, уже покинуло некоторое время назад. Я пытаюсь понять, почему код вызывает Clear() после удаления каждой из tabPages (для меня это выглядит неуместно). Может ли кто-нибудь объяснить мне почему? Или вызывается Clear() дополнительно?
Спасибо, где вы нашли фрагмент Control.Dispose? – David
Reflector - http://www.red-gate.com/products/reflector/ –
@Xaero. Хотя вы правы в том, что элемент управления удаляется из своего родителя. Вы только знаете, что, разобрав сборку. Нет, где в публичной документации для метода говорится, что он удаляет из него родительский. Эта функциональность может быть изменена в будущей версии фреймворка. Я знаю, что вызывающая сборка может ориентироваться на определенную версию .NET Framework. Однако не лучше ли было бы использовать метод, поскольку они предназначены на основе публичной документации (даже если это не обязательно). – rocka