Я хотел бы, чтобы удалить все динамически созданный объект [в этом случае, этикетки и trackbars]C# удалять динамически созданные объекты
foreach (Label Labels in Controls.OfType<Label>())
{
if (Labels.Tag.ToString() != "non-disposal"){
Labels.Dispose();
}
}
Я попробовал это, но я получаю сообщение об ошибке говорящее «Ссылка на объект не указывает на экземпляр объекта "
спасибо,
РЕШЕНИЕ.
foreach (Label label in Controls.OfType<Label>()){
if (label.Tag != null && label.Tag.ToString() == "dynamic")
label.Dispose();
спасибо lazyberezovsky
Почему бы просто не дать вашим динамически созданным объектам некоторый * специфический * тег? Или добавить их в коллекцию где-нибудь, когда вы их создадите? –
Почему он удаляет все ярлыки? Предположительно, у вас есть «неутилизация», установленная как «тег» для тех, кого вы хотите сохранить? –
@JonSkeet Я пробовал это раньше, я получаю сообщение об ошибке «Ссылка на объект не установлена в экземпляр объекта». – user1859829