我想将ctypes.Structure
的一个字段设为枚举。这个post建议在枚举类中添加from_param
类方法,但声称这对于自定义ctypes.Structure
来说还不够。我还尝试从enum.IntEnum
和ctypes.c_uint
继承,但这会导致元类冲突。这大概就是我想要的:
class MyEnum(enum.IntEnum):
A = 0
B = 1
class MyStruct(ctypes.Structure):
_fields_ = [
('my_enum', MyEnum),
...
]