struct with no explicit constructor
Hello, I'm trying to create an instance of a struct that has no explicit constructor in C#, but in python I always get a TypeError. My test struct in C#: namespace Foo { public struct MyStruct { public int x; } } In python: mystruct = Foo.MyStruct() This gives me "TypeError: no constructor matches given arguments". I get slightly further calling __new__ explicitly: mystruct = object.__new__(Foo.MyStruct) mystruct.__init__() However, then I get an exception from when mystruct goes out of scope: Unhandled Exception: System.ArgumentException: GCHandle value cannot be zero at System.Runtime.InteropServices.GCHandle.op_Explicit (IntPtr value) [0x00000] at Python.Runtime.ManagedType.GetManagedObject (IntPtr ob) [0x00000] at Python.Runtime.ClassBase.tp_dealloc (IntPtr ob) [0x00000] at (wrapper native-to-managed) Python.Runtime.ClassBase:tp_dealloc (intptr) at (wrapper managed-to-native) Python.Runtime.Runtime:Py_Main (int,string[]) at Python.Runtime.PythonConsole.Main (System.String[] args) [0x00000] If I add an explicit constructor to MyStruct, everything works fine, but this is a third-party library that I'd like to use as-is if possible. Is there any way to do this? Thanks, Jeff
participants (1)
-
Jeff Ames