private IList <Object> PopulateStreamHandlers(Type[] paramTypes, IList <Object> arguments) { IList <Object> rv = new List <Object>(); bool firstStream = true; IEnumerator <Object> argIt = arguments.GetEnumerator(); foreach (Type paramType in paramTypes) { if (StreamHandlerUtil.IsAdaptableToObjectStreamHandler(paramType)) { if (!firstStream) { throw new InvalidOperationException("At most one stream handler is supported"); } ObjectStreamHandler osh = new RemoteResultsHandler(_connection); rv.Add(StreamHandlerUtil.AdaptFromObjectStreamHandler(paramType, osh)); firstStream = false; } else { argIt.MoveNext(); rv.Add(argIt.Current); } } return(rv); }
private IList<Object> PopulateStreamHandlers(Type[] paramTypes, IList<Object> arguments) { IList<Object> rv = new List<Object>(); bool firstStream = true; IEnumerator<Object> argIt = arguments.GetEnumerator(); foreach (Type paramType in paramTypes) { if (StreamHandlerUtil.IsAdaptableToObjectStreamHandler(paramType)) { if (!firstStream) { throw new InvalidOperationException("At most one stream handler is supported"); } ObjectStreamHandler osh = new RemoteResultsHandler(_connection); rv.Add(StreamHandlerUtil.AdaptFromObjectStreamHandler(paramType, osh)); firstStream = false; } else { argIt.MoveNext(); rv.Add(argIt.Current); } } return rv; }