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")); }
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")); }