我希望我的类中的集合限制为最多 6 个元素:
public class Foo
{
private ICollection bars;
public ICollection Bars
{
get { return this.bars; }
set
{
if (value != null && value.Count > 6)
{
throw new Exception("A Foo can only have up to 6 Bars."); // Which exception to throw?
}
}
}
}
在这种情况下抛出的正确异常是什么?
根据文档,ArgumentException
应抛出:
当提供给方法的参数之一无效时。
但这不是一种方法。
当参数的值超出被调用方法定义的允许值范围时。
这是为了访问集合大小之外的元素,而不是当集合太大时。
还有其他更适合这种情况的例外吗?