public void IterateNext() { if (_traversal == null) { throw new InvalidOperationException("Traversal should be set before iterating"); } _traversal.MoveNext(); var result = _traversal.Current; switch (result) { case null: _result = null; return; case object[] arrayResult: _result = arrayResult; return; case IEnumerable enumerableResult: _result = enumerableResult.Cast <object>().ToArray(); return; } throw new InvalidCastException($"Can not convert instance of {result.GetType()} to object[]"); }
public void IterateNext() { if (_traversal == null) { throw new InvalidOperationException("Traversal should be set before iterating"); } try { _traversal.MoveNext(); var result = _traversal.Current; switch (result) { case null: _result = null; return; case object[] arrayResult: _result = arrayResult; return; case IEnumerable enumerableResult: _result = enumerableResult.Cast <object>().ToArray(); return; } } catch (Exception ex) { _error = ex; } }
public void IterateToList() { if (_traversal == null) { throw new InvalidOperationException("Traversal should be set before iterating"); } ITraversal t = _traversal; var list = new List <object>(); while (t.MoveNext()) { list.Add(t.Current); } _result = list.ToArray(); }