Преобразование строки в объект с именем переменной - PullRequest
0 голосов
/ 27 марта 2020

Я искал два часа, здесь, на Stackoverflow и на других форумах. Но я не могу найти решение своей проблемы. Я должен иметь возможность изменять свойства объекта, имя которого я не знаю. Теперь я попытаюсь объяснить лучше:
Пользователь перетаскивает некоторые файлы в форме, и я получаю в массиве () все пути перетаскиваемых файлов. Для каждого пути в файлах () я добавляю на панель пользовательский контроль, который является интерфейсом загрузчика. (Мое приложение это своего рода загрузчик). Хорошо, представьте, что пользователь перетащил 4 файла, у меня есть 4 различных пользовательских элемента управления с именами «Uploader1», «Uploader2», «Uploader3» и «Uploader4». Мне нужно изменить текст метки в загрузчике1, но я не могу написать:

 Uploader1.LabelExample.Text = "Example"

Потому что его не существует! (Пока нет!) Так что я попробовал этот метод.

Dim UploadCounter as Integer = 1
Dim CurrentUploader = CType(Panel.Controls("Uploader" & UploaderCounter.ToString), UploadBanner)
CurrentUploader.LabelExample.Text = "Example"

Я пишу то же самое с DirectCast и TryCast, но ничего. Я также пытаюсь:

For Each Uploader With{.Name = "Uploader1"} as UploaderControl in Panel.Controls
   Uploader.LabelExample.Text = "Example"
Next

Я везде искал "преобразовать строку в объект в vb. net", но я не могу найти ничего, что работает! Все они возвращают «System.NullReferenceException:« Ссылка на объект не установлена ​​для экземпляра объекта. »

Извините за мой плохой плохой английский sh, спасибо за все, что мне поможет! нужно действительно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...