我正在实现一个 IDictionary 接口,object
它的get
set
.
object this [object key] { get; set; }
我想强制密钥是字符串类型,所以在我的代码中我这样做:
(if key.GetType() != typeof(string)) {
//
}
当这种情况发生时,我想抛出一个异常。但是我不知道在这种情况下使用什么最合适的例外。我能找到的最接近的是TypeInitializationException和ArgumentException。但是,本文档中声明:“如果将错误参数传递给成员,请抛出 System.ArgumentException 或其子类型之一”,这让我想知道我的用例是否正确。
我应该怎么用我的箱子?我应该使用断言而不是抛出异常吗?