public Message SerializeReply (
MessageVersion version, object [] parameters, object result)
{
// use_response_converter
MessageDescription md = null;
foreach (MessageDescription mdi in messages)
if (!mdi.IsRequest)
md = mdi;
object [] parts = CreatePartsArray (md.Body);
if (md.MessageType != null)
MessageObjectToParts (md, result, parts);
else {
if (HasReturnValue (md.Body))
parts [0] = result;
int index = ParamsOffset (md.Body);
int paramsIdx = 0;
foreach (ParameterInfo pi in replyMethodParams)
if (pi.IsOut || pi.ParameterType.IsByRef)
parts [index++] = parameters [paramsIdx++];
}
string action = version.Addressing == AddressingVersion.None ? null : md.Action;
return PartsToMessage (md, version, action, parts);
}