更改HashSet原型C#

Pav*_*kov 0 c# hashset

我可以更改HashSet的原型吗?我想实现的是,当HashSet的创建,以添加属性count,这将在每个被更新.Add(),也.Remove()操作.我认为这比迭代收集更好.我也想为SortedHash和Dictionary以及SortedDictionary做这件事(你明白了).

编辑:通过原型我的意思是在javascript中,我可以说Array.prototype,例如.我希望它与C#一样.

Mar*_*ell 7

不,您无法在C#中更改原型,因为C#不是原型语言.但是,HashSet<T> 已经拥有了一处.Count房产.如果您愿意,可以使用扩展方法添加额外的方法.扩展属性可能会以不太远的语言更新.或者:子类并在子类中添加属性.