public static Byte[] SerializeToByteArray <T>(this ICommonSerializer target, T value) { using (var stream = new MemoryStream()) { target.Serialize(stream, value); return(stream.ToArray()); } }
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); }