コード例 #1
0
        public object ReadValue(PyObject obj)
        {
            PyTypeObject typeObject = obj.LoadType(PyMemoryReader);
            object       value      = null;

            switch (typeObject.tp_name_Val)
            {
            case "str":
                value = new PyStr(obj.BaseAddress, MemoryReader);
                break;

            case "float":
                value = new PyFloat(obj.BaseAddress, MemoryReader);
                break;

            case "int":
                value = new PyInt(obj.BaseAddress, MemoryReader);
                break;

            case "bool":
                value = new PyBool(obj.BaseAddress, MemoryReader);
                break;

            case "unicode":
                value = new PyUnicode(obj.BaseAddress, MemoryReader);
                break;

            case "list":
                value = new PyList(obj.BaseAddress, MemoryReader);
                break;

            default:
                break;
            }

            if (value != null)
            {
                return(value);
            }

            return(obj.BaseAddress.ToString("x"));
        }
コード例 #2
0
        public object ReadValue(uint?me_value)
        {
            PyTypeObject typeObject = new PyObject(me_value.Value, MemoryReader).LoadType(PyMemoryReader);
            object       value      = null;

            switch (typeObject.tp_name_Val)
            {
            case "str":
                value = new PyStr(me_value.Value, MemoryReader);
                break;

            case "float":
                value = new PyFloat(me_value.Value, MemoryReader);
                break;

            case "int":
                value = new PyInt(me_value.Value, MemoryReader);
                break;

            case "bool":
                value = new PyBool(me_value.Value, MemoryReader);
                break;

            case "unicode":
                value = new PyUnicode(me_value.Value, MemoryReader);
                break;

            case "list":
                value = new PyList(me_value.Value, MemoryReader);
                break;

            default:
                break;
            }

            if (value != null)
            {
                return(value);
            }

            return(me_value?.ToString("x"));
        }