예제 #1
0
 public static Byte[] SerializeToByteArray <T>(this ICommonSerializer target, T value)
 {
     using (var stream = new MemoryStream())
     {
         target.Serialize(stream, value);
         return(stream.ToArray());
     }
 }
예제 #2
0
            public void Intercept(IInvocation invocation)
            {
                var message = new Message();

                message.Method    = invocation.Method.Name;
                message.Arguments = _serializer.GenerateContainer();
                var parameters = invocation.GetConcreteMethod().GetParameters();

                for (int i = 0; i < invocation.Arguments.Length; i++)
                {
                    _serializer.Serialize(message.Arguments, invocation.Arguments[i], parameters[i].ParameterType);
                }

                // left off: need serializer overloads that take type.
                // Also, add multiples simultaneously to the container

                invocation.ReturnValue = Send(message, invocation.Method.ReturnType);
            }