VB.NET 2003 アプリを難読化しようとしています。
結果のアセンブリは難読化され、「実行」されますが、いくつかのエラーが発生します。
潜在的なリフレクションの問題をすべて解決しましたが、コンボボックスの選択された値を読み取ることができません。
「VTPair」のコレクションを使用して、Datasource プロパティを使用して Combobox をロードします (値を格納するための文字列型とオブジェクト型の 2 つのプロパティを持つ、私が作成したクラス)
このコンボボックスは、「男性 | M」または「女性 | F」のようなペアを処理します。
選択されているものを見ようとするとき、私は使用します if mycombo1.SelectedValue = "M" then
このコードは、難読化後に、型「XX」を文字列「M」にキャストできないという例外をスローします。
そこで、コードをより正確なものに変更し、選択した値を明示的に文字列にキャストしました。
if ctype(mycombo1.SelectedValue,string) = "M" then
しかし、エラーは同じです。
元のコードをデバッグすると、SelectedValue プロパティのタイプは「オブジェクト」ですが、文字列です。
オブジェクトでもあるプロパティを使用してみComboBox.SelectedItem
ましたが、今回は内部が「VTPair」型(自分のクラス)であり、その「値」プロパティ(オブジェクト型)にアクセスしようとし、文字列にキャストしようとしました再び失敗します。
このコードを「翻訳」して、Dotfucate 後に正常に動作するようにするアイデアはありますか?
ありがとう!