Tablets.Count方法中的ArgumentException

时间:2017-09-08 15:10:09

标签: c# exception tablet

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? 感谢。

2 个答案:

答案 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