Невозможно преобразовать из 'System.Web.UI.ControlCollection' в 'System.Collections.Generic.IEnumerable<System.Web.UI.Control>'
Я хотел бы очистить и утилизировать все компоненты внутри панели asp:. Я получаю сообщение об ошибке:
невозможно преобразовать из 'System.Web.UI.ControlCollection' в 'System.Collections.Generic.IEnumerable'
Вот мой код:
List<Control> ctrls = new List<Control>(panelLayout.Controls);
panelLayout.Controls.Clear();
foreach (Control control in ctrls)
{
control.Dispose();
}
Любые идеи о том, что мне нужно изменить на линии: List ctrls = new List(panelLayout.Controls);
Спасибо ларри
1 ответ
Решение
Вам не нужно сначала создавать список. Вы можете перебрать свою коллекцию Controls.
foreach (Control control in panelLayout.Controls)
{
control.Dispose();
}
panelLayout.Controls.Clear();
Вы получаете ошибку, потому что List<T>
ожидает IEnumerable<T>
в своем конструкторе. Ваша коллекция не реализует этот интерфейс.
Также вы должны очистить коллекцию после того, как вы удалили их, как указано на jrummell.