Interesting Tech Projects
Archive for May, 2019
Accessing an Overloaded C# Constructor from IronPython
May 14th
The C# class ‘Foo’ has four constructors. The glue between IronPython and C# is not choosing the correct one. Here is how to force it.
import clr typ = clr.GetClrType(Foo) ctor = typ.GetConstructors()[3] newfoo = ctor.Invoke(System.Array[object](['string value', 1234]))
newfoo is now an instance of the Foo object, created using a string and int parameters. Here we are assuming the fourth constructor is the one we want, which isn’t very robust. Instead the constructors can be enumerated and the parameters evaluated to determine the correct constructor to use.