调试列表<t> .Count抛出ArgumentException </t>

时间:2012-07-06 14:53:39

标签: c# .net visual-studio visual-studio-debugging

我有外部课程Item,如果我做的话:

List<Item> items = new List<Item>();

在调试期间将鼠标悬停在其上显示

  

'items.Count'抛出类型'System.ArgumentException'的异常int {System.ArgumentException}

我不能分享这个类的整个代码,但可能是什么原因。我反编译了类,我看到有GetHashCode和Equals方法覆盖。可能是个原因吗?

修改

在调试中,在行

之后
List<Item> items = new List<Item>();

使用立即窗口并写入items.Count我得到:

'items.Count' threw an exception of type 'System.ArgumentException'
base {System.SystemException}: {"Cannot find the method on the object instance."}
Message: "Cannot find the method on the object instance."
ParamName: null

1 个答案:

答案 0 :(得分:1)

快速查看ILSpy或Reflector,可以看出List<T>.Count无法引发该异常。

/// <summary>Gets the number of elements actually contained in the
///   <see cref="T:System.Collections.Generic.List`1" />.</summary>
/// <returns>The number of elements actually contained in the
///   <see cref="T:System.Collections.Generic.List`1" />.</returns>
public int Count
{
    get { return this._size; }
}

鉴于您在调试期间收到此信息,我相信您有第三方控件或插件导致此异常。尝试清理/重建,重新添加第三方参考,和/或运行Visual Studio in safe mode