在执行以下代码时,只在一台PC上进行静态操作:
using Microsoft.Ink;..。
Tablets allTablets = new Tablets();
int numTablet = allTablets.Count;我明白这个例外。
System.ArgumentException: Valore非压缩的nell‘’intervallo介词。{英文->值不在正确范围内] 在Microsoft.Ink.InkTabletsClass.get_Count() 在Microsoft.Ink.Tablets.get_Count()
一个伯爵怎么能抛出这种异常呢?它是否意味着Count方法返回一个不是int的值?谢谢。
发布于 2017-09-08 15:53:57
一个伯爵怎么能抛出这种异常呢?
因为某些逻辑是在Count类的Tablets属性的getter中实现的。正是在getter中抛出异常。
它是否意味着Count方法返回一个不是int的值?
不是的。int属性只能返回int值或抛出异常。它永远不能返回任何其他类型的值。编译器强制执行此操作。
发布于 2017-09-08 15:41:55
我试过你的代码,它对我有用。尽管如此,我已经多次遇到类似的异常,所以我现在习惯于先检查空对象。所以,我会用:
Tablets allTablets = new Tablets();
int numTablet = 0;
if (allTablets != null)
numTablet = allTablets.Count;为了回答您的问题,由于某种原因,new Tablets()返回null而不是空ICollection。
https://stackoverflow.com/questions/46119562
复制相似问题