1

次のコードは、VS2005 の Visual Basic コンパイラを即座にクラッシュさせます (少なくとも、私の環境では: Windows 7)。

Public Module foo
    Public Function FUNC() As System.Int32
        Static dict As Generic.Dictionary(Of Int32, Of String)
        Return 0
    End Function
End Module

具体的には、「dict」(静的、ローカル辞書) を定義する行の終了時に。さて、私はコンパイラでバグを宣言することに懐疑的であることを学びました (特に上記のような単純なコード セットの場合)。なぜこれが起こるのか興味があります。明らかに、洗練されていないクラッシュは VS2005 の制限ですが、静的な汎用辞書の宣言に関する根本的な問題が原因でクラッシュが発生するのでしょうか? のように、これは悪い/違法な VB ですか?

4

1 に答える 1

1

ちょうど答えを見つけました。ディクショナリ定義は、(Of X, Of Y) ではなく Generic.Dictionary(Of X, Y) である必要があります。

于 2012-07-13T20:58:13.517 に答える