public LinkedEnumerator(DrLinkedDictonary <TKey, TValue> linkedDictionary, DrEnumerationRules eRules) { this.dic = linkedDictionary; this.eRules = (DrEnumerationRules)eRules.Clone(); if (this.eRules.IsFirstItemRelative) { this.startFrom = this.eRules.Direction == EDirection.FORWARD ? linkedDictionary.first : linkedDictionary.last; } else { this.startFrom = linkedDictionary.dic[this.eRules.StartFromKey]; } nextLinkedValue = this.startFrom; currentLinkedValue = default(DrLinkedValue); }
public Enumerator(DrLinkedDictonary <TKey, TValue> linkedDictionary, DrEnumerationRules eRules) : base(linkedDictionary, eRules) { }
/// <summary> /// Returns an enumerator as LinkedEnumerator that iterates through a collection by specified rules /// </summary> /// <param name="eRules">Rules of the enumeration items of the collection</param> /// <returns></returns> public LinkedEnumerator GetEnumerator(DrEnumerationRules eRules) { return(new Enumerator(dictionary, eRules)); }