일부 VB.NET 2003 앱을 난독 화하려고합니다.Dotfuscator로 난독 화 한 후 캐스팅 문제가 발생했습니다.
결과 어셈블리가 난독 화되어 일부 오류가 발생하여 "실행"됩니다.
모든 잠재적 인 반사 문제를 치료했지만 선택한 값을 읽을 수 없습니다.
나는 "VTPair"(2 곳으로 나를 만든 클래스 : 문자열 유형 중 하나와 객체 유형의 다른 값을 저장하는)의 컬렉션을 사용하여 자신의 데이터 소스 속성을 사용하여 콤보 상자를로드
이 콤보를 "Male | M"또는 "Female | F"와 같은 쌍을 처리하십시오. 선택을 확인하려고 할 때
, 나는 난처 후, 나에게 문자열 "M"으로 유형 "XX"를 캐스팅 할 수없는 예외가 발생,
이 코드 if mycombo1.SelectedValue = "M" then
를 사용합니다.
그래서, 명시 적으로 String으로 선택한 값을 캐스팅, 더 정확한 무언가에 코드를 변경 :
if ctype(mycombo1.SelectedValue,string) = "M" then
그러나 오류는 동일합니다.
내 원래 코드를 Debugin SelectedValue 속성 "Object"유형이지만 문자열입니다.
또한 개체 인 ComboBox.SelectedItem
속성을 사용해 보았습니다. 이번에는 "VTPair"(내 자신의 클래스) 유형이고 그 다음에 Object 유형 인 "Value"속성에 액세스하려고 시도했습니다. 문자열에 캐스트하려고하면 다시 실패합니다.
Dotfucate 후에도이 코드 조각을 "번역"하여 OK로 작동시키는 사람이 있습니까?
감사합니다.
값을 읽을 때의 예외를 제외하고는 UI가 올바른지, 예기치 않은 값이 콤보 상자에 표시됩니까? – Timores