示例#1
0
        public object ReadResult(Type returnType)
        {
            object result;

            byte[] data = ByteArrayMarshaler.Demarshal(InputStream);
            using (MemoryStream stream = new MemoryStream(data))
            {
                ITypeMarshaler marshaler = MarshalingManager.GetMarshaler(returnType);
                result = marshaler.DemarshalObject(stream);
            }
            return(result);
        }
示例#2
0
 public object[] ReadArguments(Type[] signature)
 {
     object[] arguments = new object[signature.Length];
     byte[]   data      = ByteArrayMarshaler.Demarshal(InputStream);
     using (MemoryStream stream = new MemoryStream(data))
     {
         for (int i = 0; i < arguments.Length; i++)
         {
             Type           type      = signature[i];
             ITypeMarshaler marshaler = MarshalingManager.GetMarshaler(type);
             arguments[i] = marshaler.DemarshalObject(stream);
         }
     }
     return(arguments);
 }