Closed
Description
Environment
- Pythonnet version: 3.0.0-a2
- Python version: 3.9.10
- Operating System: Windows 10 Pro - 21H2 - 19044.1766
- .NET Runtime: Unity/Mono
Details
- When trying to compare the equality of Python IntEnum instances from C#, they must be explicitly converted to an int.
# in my_module.py file
class MyEnum(enum.IntEnum):
OK = 1
ERROR = 2
def get_status():
return MyEnum.OK
No crash.
PythonRunner.EnsureInitialized();
using (Py.GIL())
{
// Import our module
dynamic my_module = Py.Import("my_module");
dynamic MyEnum= my_module .MyEnum;
// Call the Python func on C# side
dynamic status = my_module.get_status();
if ((int)status == (int)MyEnum.OK) // <-- have to convert to int
if (status == MyEnum.OK) // when not converting to int, they are not evaluated as equal (no crash)
}
Metadata
Metadata
Assignees
Labels
No labels