| ■89346 / ) |
Re[3]: C#におけるCombobox |
□投稿者/ 魔界の仮面弁士 (1949回)-(2018/11/20(Tue) 18:32:40)
|
2018/11/20(Tue) 19:12:14 編集(投稿者)
■No89344 (魔界の仮面弁士) に追記 > どこのコンバーターでしょうか?
これなんですが、
・form1 が this に変換されている ・ComboBox1 が comboBox1 に変換されている
という『意訳』っぷりが見て取れるので、 どのコンバーターを使っているのか、単純に興味があるので、 教えてもらえると嬉しいです。
(そもそも最近のバージョンの VB だと、元のコードも BC31139 エラーで弾かれそうなんですが)
■No89345 (WebSurfer さん) に返信 > Items[0] に変換してくれるサービスがあれば教えていただけると幸いです。
単純な構文解析だけでは、「引数付きプロパティ」を「メソッド」の呼び出しと 区別できませんから、丸括弧から角括弧への変換ができないのは、 ある程度仕方ないでしょうね。
元の VB 製アセンブリがあるのなら、現在利用している変換器と併用して、 アセンブリをロードするタイプのツール(たとえば、ILSpy など)を 併用して見比べてみるのも良いかも知れません。 http://www.atmarkit.co.jp/fdotnet/dotnettips/1055ilspy/ilspy.html https://github.com/icsharpcode/ILSpy/releases
ただ、このタイプの変換器は、VB コンパイラが自動的に挿入するヘルパーも そのまま直訳するので、今回のコードだと
this.comboBox1.Text = this.comboBox1.GetItemText(System.Runtime.CompilerServices.RuntimeHelpers.GetObjectValue(this.comboBox1.Items[0]));
などに過訳される可能性がありそうです。
# 前回紹介されていた dnSpy は、使ったことが無いので分からないです。
|
|