[IronPython] (UPDATE) Cannot create instances of RuntimeType because it has no public constructors

Curt Hagenlocher curt at hagenlocher.org
Mon Dec 28 17:56:16 CET 2009

"fooclass" is not a Python type. It's an instance of the CLR class
System.RuntimeType. In order to derive from "foo" in this fashion, you might
be able to turn fooclass into a IronPython.Runtime.Types.PythonType by

import clr
foo = clr.GetPythonType(fooclass)
class bar(foo):

If it's consistent with your security requirements, it would be simpler to
simply expose your C# assembly directly to IronPython. You would do this
from within the C# code by saying


and then you could say from your Python code

from Namespace.Containing.Your.Foo.Class import foo

On Mon, Dec 28, 2009 at 4:36 AM, Marcel Heing-Becker <marscel at googlemail.com
> wrote:

> PLEASE IGNORE MY PREVIOUS POST with the same title, I accidentally sent it
> before I was finished cleaning up the code.
> Hi there,
> I have a problem with my application. It's written in C# and embeds
> IronPython. In C#, I have a class that looks like this:
> public class foo
> {
>     public foo()
>     {
>         ...
>     }
>     ...
> }
> I put this into the ScriptScope I use by doing:
> scope.SetVariable("fooclass", typeof(foo));
> Operations like: a = fooclass() work without any problem, but the following
> IronPython does not work and raises the error: Cannot create instances of
> RuntimeType because it has no public constructors. Code:
> class bar(fooclass):
>     def __init__(self):
>         Name = "Unused"
>     ...
> barobject = bar()
> Well, I can't really say what this is about. Is it a Bug in IP or anything
> like a limitation?
> Greetings, Marcel
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20091228/75b8df7e/attachment.html>

More information about the Ironpython-users mailing list