Exemplo n.º 1
0
        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));
        }