public void Accept(ISjsVisitor <T> visitor) { if (visitor == null) { throw new ArgumentNullException("·ÃÎÊÆ÷Ϊ¿Õ"); } //for (int i = 0; i < this.Count; i++) //{ // visitor.Visit(this[i]); // if (visitor.HasCompleted) // { // break; // } //} System.Collections.Generic.List <T> .Enumerator enumerator = this.GetEnumerator(); while (enumerator.MoveNext()) { visitor.Visit(enumerator.Current); if (visitor.HasDone) { return; } } }
/// <summary> /// 接受指定的访问方式(访问者模式) /// </summary> /// <param name="visitor"></param> public void Accept(ISjsVisitor <T> visitor) { if (visitor == null) { throw new ArgumentNullException("访问对象为空"); } System.Collections.Generic.Queue <T> .Enumerator enumerator = this.GetEnumerator(); while (enumerator.MoveNext()) { visitor.Visit(enumerator.Current); if (visitor.HasDone) { return; } } }