[IronPython] PrivateBindings fails to expose functions in internal classes, but not properties

Leo Carbajal desleo at gmail.com
Sun Jan 9 00:36:26 CET 2011


Hello all,

Almost I thought I could have my cake and eat it too. I have a large
client-server project written in C# that I wanted to be able to script with
IronPython. The biggest requirement was that I wanted external admins to be
able to provide scripts for the server to augment its functions. However, I
don't want them to have full access to the server API so I resigned myself
to write the project with everything Internal and then build public facing
classes for the functionality I wanted to expose. This, I know, to work
fine.

however, I still want to be able to use scripts on the server myself, for
other things. I ended up using two engines, one with PrivateBinding on and
one without. The one with PrivateBinding set to true can see all private and
internal members but whenever I try to call a function from IronPython I get
an exception of "System Error: Object reference not set to an instance of an
object." It's weird because I can call on properties and get their values,
but not functions. If I do a dir() on the class, and the member, IronPython
can clearly see what they are and that they exist. If it helps, the class
i'm trying to access is internal but has all public members (for
interfaces).

I guess my question is whether this behavior is intentional or not. Being
able to use my API on one engine for actual server work while providing a
different one for plugin\event hook writers, would help tremendously.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20110108/f6322480/attachment.html>


More information about the Ironpython-users mailing list