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);
        }
Beispiel #2
0
 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;
 }