次のコードでは:
private static void Main(string[] args)
{
var listy = new List<DateTime> { DateTime.Now };
MyMethod(listy);
}
static void MyMethod<T>(List<T> myList)
{
// put breakpoint here
}
デバッガーを中断して、"myList" で QuickWatch を開くと、次のように表示されます。
myList
[0]
Raw View
「[0]」ノードを選択して [ウォッチの追加] をクリックすると、次の式がウォッチに追加されます。
(new System.Collections.Generic.Mscorlib_CollectionDebugView<System.DateTime>(myList)).Items[0]
この式は正しいように見えますが、ウォッチ ウィンドウには次のエラーが表示されます。
'System.Collections.Generic.Mscorlib_CollectionDebugView.Mscorlib_CollectionDebugView(System.Collections.Generic.ICollection)' に最も一致するオーバーロードされたメソッドには、いくつかの無効な引数があります
これはデバッガーのバグのようです。なぜこれが起こるのですか?そして、それはどこかに文書化されていますか?