Я пытаюсь запутать какое-то приложение VB.NET 2003.
Полученные сборки запутываются и «запускаются» с некоторыми ошибками.
Я убрал все потенциальные проблемы с отражением, но не могу прочитать выбранное значение в выпадающем списке.
Я загружаю Combobox, используя их свойства источника данных, используя коллекцию "VTPair" (созданный мной класс с двумя свойствами: одно для строкового типа, а другое для типа объекта для хранения значения)
Этот дескриптор комбинированного списка, такой как "Male | M" или "Female | F".
При попытке увидеть, что выбрано, я использую if mycombo1.SelectedValue = "M" then
Этот код после обфускации выдает мне исключение, которое не может привести тип "XX" к строке "M".
Итак, я изменил код на что-то более правильное, явно приведя выбранное значение к String:
if ctype(mycombo1.SelectedValue,string) = "M" then
Но ошибка та же.
Отмените мой исходный код, свойство SelectedValue имеет тип «Объект», но это строка.
Я попытался использовать свойство ComboBox.SelectedItem
, которое также является объектом, но на этот раз то, что внутри, имеет тип "VTPair" (мой собственный класс), а затем пытался получить доступ к свойству "Значение" (которое имеет тип Object) и попытка привести к строке снова не удалась.
У кого-нибудь есть идея "перевести" этот кусок кода, чтобы он работал нормально после Dotfucate?
Спасибо!