[IronPython] CodeContext went from language-independent to IronPython-specific
paul.eric.felix at gmail.com
Mon Mar 22 15:08:55 CET 2010
Thanks, Tomas and Curt. I see your blogs on this topic.
Let's say I wanted to use the DynamicObject approach, and I have a dynamic
C# object with a runtime member called SomeMember. Let's say SomeMember is a
.NET List, but I want the object to return a calling-language-specific list
type. How could I perform a language-specific conversion?
In other words, with my scriptable application, I might want to better
support the scriptwriter's language by returning language-specific types. If
a scriptwriter is using Python, it would be nice to return a Python list for
SomeMember. If the scriptwriter is using Ruby, it would be nice to return a
If there was some way to get access to a type converter based on the
"calling context", this might be doable.
Does that make sense?
On Sun, Mar 21, 2010 at 8:53 PM, Paul Felix <paul.eric.felix at gmail.com>wrote:
> I am embedding IronPython in an application for scripting. I'm also making
> some C# classes "dynamic" by implementing the special DLR methods like
> GetBoundMember. My signatures for those special methods include the code
> public object GetBoundMember(CodeContext codeContext, string name)
> . . .
> I make use of the code context to get access to an object that essentially
> represents an application-defined context. I like the idea of being able to
> support other dynamic languages like IronRuby in the future, and I was
> bolstered by the fact that I could implement the special DLR methods with
> Microsoft.Scripting namespaces only (no IronPython namespaces).
> But in the newer versions of IronPython, the CodeContext type has been
> moved to an IronPython namespace, thus locking me in to IronPython. To
> remain independent of any dynamic language, am I going to have to implement
> the special DLR methods without the code context and find some other way to
> get at my app object?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Ironpython-users