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