Exemplo n.º 1
0
        /// <summary>字节数组转对象</summary>
        /// <param name="pk"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        protected virtual Object FromBytes(Packet pk, Type type)
        {
            if (type == typeof(Packet))
            {
                return(pk);
            }
            if (type == typeof(Byte[]))
            {
                return(pk.ToArray());
            }
            if (type.As <IAccessor>())
            {
                return(type.AccessorRead(pk));
            }

            var str = pk.ToStr().Trim('\"');

            if (type.GetTypeCode() == TypeCode.String)
            {
                return(str);
            }
            if (type.GetTypeCode() != TypeCode.Object)
            {
                return(str.ChangeType(type));
            }

            return(str.ToJsonEntity(type));
        }