[IronPython] How to place static class in script name space

Markus Schaber m.schaber at 3s-software.com
Tue Jun 14 09:01:07 CEST 2011


Hi, Tom,

Von: Tom Unger

> But I want to eliminate the need for each script to do that import by setting up the scope with:
> scriptScope.SetVariable("App", App);
> This does not compile because App is a static class, not an object.  

Maybe scriptScope.SetVariable("App", DynamicHelpers.GetPythonTypeFromType(typeof(App))) can help here?

The C# typeof() operator returns the .NET type object (the same as you get from GetType() of an instance), and the DynamicHelpers.GetPythonTypeFromType() method returns the corresponding python type object for that .NET type.

I successfully used it to expose types (constructors, static members) to IronPython 2.6 scripts.

(DynamicHelpers is defined in the IronPython.Runtime.Types namespace.)

HTH,
Markus

 



More information about the Ironpython-users mailing list