sistematically,但只在一台PC上执行此代码:
using Microsoft.Ink;
...
Tablets allTablets = new Tablets();
int numTablet = allTablets.Count;
我得到了这个例外。
System.ArgumentException:Valore non compreso nell' intervallo previsto。 {英文 - >价值不在正确的范围内} 在Microsoft.Ink.InkTabletsClass.get_Count()中 在Microsoft.Ink.Tablets.get_Count()
中
COUNT如何抛出这种异常? 这是否意味着Count方法返回的值不是int? 感谢。
答案 0 :(得分:1)
COUNT如何抛出这种异常?
由于在Count
类的Tablets
属性的getter中实现了一些逻辑。在getter中抛出异常。
这是否意味着Count方法返回的值不是int?
没有。 int
属性只能返回int
值或抛出异常。它永远不会返回任何其他类型的值。编译器强制执行此操作。
答案 1 :(得分:0)
我尝试了你的代码,它对我有用。话虽这么说,我之前已经遇到类似的异常很多次,现在我养成了先检查空对象的习惯。所以,我会用:
Tablets allTablets = new Tablets();
int numTablet = 0;
if (allTablets != null)
numTablet = allTablets.Count;
要回答您的问题,由于某种原因,new Tablets()
会返回null而不是空ICollection
。