Пример #1
0
        public override object GetObject(byte[] inputBytes, int startOffset, out int nextStartOffset)
        {
            var objectByteData = ByteUtil.DecodeBytes(inputBytes, startOffset, out nextStartOffset);

            if (objectByteData.Length > 0)
            {
                var typeName = ByteUtil.DecodeString(objectByteData, 0, out int objDataStartOffset);
                var type     = SerializerUtil.GetType(typeName);
                var result   = SerializerUtil.CreateInstance(type);
                int objDataFieldStartOffset = objDataStartOffset;
                SetObjectField(type.GetRpcFieldList(), result, objectByteData, objDataFieldStartOffset, objectByteData.Length, out objDataStartOffset);
                return(result);
            }
            else
            {
                return(null);
            }
        }