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