DOBON.NET DOBON.NETプログラミング掲示板過去ログ

プロシージャ内に記述した匿名メソッドの中でのSyncLock

環境/言語:[Windows7 64Bit VB2010Express]
分類:[.NET]

VB2010のIDEに関して少し質問させてください。


    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim objLock As New Object
        Dim sub1 = _
            Sub()
                SyncLock objLock

                End SyncLock
            End Sub
    End Sub


モジュールレベルなら問題ないのですが、プロシージャ内の匿名メソッドの中から
単一のObjectをロックするために上記のように書くとIDEが強制終了してしまします。
これはIDEのバグと考えればよろしいでしょうか?

以上よろしくお願いします。
■No30133に返信(Tomokiさんの記事)
> これはIDEのバグと考えればよろしいでしょうか?

逆にお聞きしてみたいのですが、「IDE のバグ」以外の答えは何を想像していますか?

私見を述べるなら、構文に合っている・いないを問わず、コードを書いただけで Visual Studio が落ちるのであれば IDE の不具合です。
ただ、それがわかったとして次にどうするつもりなのかがわかりませんが…。
■No30133に返信(Tomokiさんの記事)

> Dim objLock As New Object

objLock = New With {.Dummy = 1}

とでもしておけば例外は発生しないと思います。

気になるようならマイクロソフトへ報告すると良いと思います。
ご回答ありがとうございます。

私のIDE環境だけで発生するのならIDEが壊れてるのかとも思いましたが
他でも同様に発生するようですしMSに報告でもしておこうかと思います。

問題のコードに関しては、いろいろ試してみたところ
匿名メソッドではなくAction型・Func型やDelegateにすると
発生しないようなので、これで対応することにします。

ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板