protected virtual byte[] OnEncode(object message) { if (message == null) { return(new byte[0]); } if (message.GetType() == typeof(byte[])) { return((byte[])message); } if (message is InvokeMessage invoke) { //var model = Activator.CreateInstance(typeof(TInvoke),invoke); var model = new TInvoke(); model.SetValue(invoke); return(_serializer.Serialize(model)); } if (message is MessageResult result) { var model = new TResult(); model.SetResult(result); return(_serializer.Serialize(model)); } return(_serializer.SerializeNoType(message)); }