我想从 Dictionary<K,V>
继承,但我的问题是,在查询 Dictionary.Keys(也就是字典的 KeyCollection)时,我想要覆盖它们。怎样解决这个问题呢?
谢谢。
我想从 Dictionary<K,V>
继承,但我的问题是,在查询 Dictionary.Keys(也就是字典的 KeyCollection)时,我想要覆盖它们。怎样解决这个问题呢?
谢谢。
Dictionary<K,V>
。并且
IDictionary<K,V>
。或者
public new YourType Keys
{
get
{
return yourVersion;
}
}
注意:
IDictionary<K,V>.Keys
的类型为 ICollection<Key>
Dictionary<K,V>.Keys
的类型为 Dictionary<K, V>.KeyCollection
,但它被标记为 sealed
,因此您将无法继承它,因此选项1似乎更加现实。
Dictionary<K,V>
并实现IDictionary<K,V>
),否则当您将您的字典转换为IDictionary<K, V>
时,由于使用了new
关键字,您会发现您的Keys
属性被忽略了。 - Justin