.net - Why does HashSet<T> not implement ICollection? -
i going write library traverse object graph (like kind of serialization).
need judge if object collection in traverse, icollection came out of mind. (string has implemented ienumerable)
but weird containers in collections have implemented icollection except hashset implemented icollection<t>...
i have checked out common containers in system.collections namespace:
arraylist : ilist, icollection, ienumerable, icloneable bitarray : icollection, ienumerable, icloneable hashtable : idictionary, icollection, ienumerable, iserializable, ideserializationcallback, icloneable queue : icollection, ienumerable, icloneable sortedlist : idictionary, icollection, ienumerable, icloneable stack : icollection, ienumerable, icloneable dictionary<tkey, tvalue> : idictionary<tkey, tvalue>, icollection<keyvaluepair<tkey, tvalue>>, idictionary, icollection, ireadonlydictionary<tkey, tvalue>, ireadonlycollection<keyvaluepair<tkey, tvalue>>, ienumerable<keyvaluepair<tkey, tvalue>>, ienumerable, iserializable, ideserializationcallback hashset<t> : iserializable, ideserializationcallback, iset<t>, icollection<t>, ienumerable<t>, ienumerable linkedlist<t> : icollection<t>, ienumerable<t>, icollection, ienumerable, iserializable, ideserializationcallback list<t> : ilist<t>, icollection<t>, ilist, icollection, ireadonlylist<t>, ireadonlycollection<t>, ienumerable<t>, ienumerable queue<t> : ienumerable<t>, icollection, ienumerable sorteddictionary<tkey, tvalue> : idictionary<tkey, tvalue>, icollection<keyvaluepair<tkey, tvalue>>, ienumerable<keyvaluepair<tkey, tvalue>>, idictionary, icollection, ienumerable sortedlist<tkey, tvalue> : idictionary<tkey, tvalue>, icollection<keyvaluepair<tkey, tvalue>>, ienumerable<keyvaluepair<tkey, tvalue>>, idictionary, icollection, ienumerable sortedset<t> : iset<t>, icollection<t>, ienumerable<t>, icollection, ienumerable, iserializable, ideserializationcallback stack<t> : ienumerable<t>, icollection, ienumerable is bug? or there reason behind?
Comments
Post a Comment