我有外部课程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
答案 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。