It should be Microsoft.Scripting.DynamicObject in 2.0. On Tue, Apr 14, 2009 at 11:02 AM, Alex News <anlee...@gmail.com> wrote:
> Current IronPython = 2.01? I have Microsoft.Scripting.Core > referenced, and can't find DynamicObject. There is an > Microsoft.Scripting.Actions.IDynamicObject, and a > Microsoft.Scripting.Runtime.IOldDynamicObject. I'm sure I'm missing > something very basic. > > We are using .net 2.0.50727 SP1 > > > > > On Tue, Apr 14, 2009 at 12:12 PM, Curt Hagenlocher <c...@hagenlocher.org> > wrote: > > In current versions of IronPython, DynamicObject is in > > Microsoft.Scripting.Core as Microsoft.Scripting.DynamicObject. In .NET > 4.0 > > System.Core, the same class will be called System.Dynamic.DynamicObject. > (I > > just noticed this naming discrepancy today, and I think we should > probably > > move it to at least Microsoft.Dynamic for the 2.6 release.) > > > > On Tue, Apr 14, 2009 at 8:31 AM, Alex News <anlee...@gmail.com> wrote: > >> > >> Much appreciated, I will give that a try. In what namespace is > >> DynamicObject declared? (I assume the required assemblies are already > >> referenced if I'm pulling in IronPython). > >> > >> Thanks again, > >> Alex > >> > >> > >> On Tue, Apr 14, 2009 at 11:16 AM, Dino Viehland <di...@microsoft.com> > >> wrote: > >> > For kwargs you need to decorate the function w/ a ParamDictionary > >> > attribute such as: > >> > > >> > public void __init__(CodeContext/*!*/ context, object o, > >> > [ParamDictionary] IAttributesCollection kwArgs) > >> > > >> > For __getattr__ IronPython will recognize a special name > >> > "GetBoundMember" method such as: > >> > > >> > using System; > >> > using System.Runtime.CompilerServices; > >> > > >> > public class Foo { > >> > [SpecialName] > >> > public object GetBoundMember (string name) { > >> > return name; > >> > } > >> > } > >> > > >> > > >> > You can also do "GetCustomMember" which is like __getattribute__. But > >> > for this one what you really want to do is inherit directly from the > >> > DynamicObject class and override TryGetMember. Then it'll work not > only w/ > >> > Python but w/ other DLR based languages as well (e.g. C#, > >> > VB.NET<http://vb.net/>, > IronRuby, > >> > etc...). > >> > > >> > > >> >> -----Original Message----- > >> >> From: users-boun...@lists.ironpython.com [mailto:users- > >> >> boun...@lists.ironpython.com] On Behalf Of Alex News > >> >> Sent: Tuesday, April 14, 2009 7:32 AM > >> >> To: users@lists.ironpython.com > >> >> Subject: [IronPython] **kwargs and __getattr__ handling in csharp > >> >> functions and classes? > >> >> > >> >> I would like to write some functions and classes in csharp that > >> >> interact nicely python. I would like to write a function that can > >> >> respond to keyword arguments, and a class that can dynamically > resolve > >> >> __getattr__. > >> >> > >> >> For the function I tried creating a function that takes a > >> >> IronPython.Runtime.PythonDictionary, but did not work. For a class I > >> >> tried creating a function that have a method __getattr__, but that > >> >> failed too. > >> >> > >> >> I see there is a IronPython.Runtime.PythonFunction and some other > >> >> interesting classes in the Runtime, but it is not apparent exactly > how > >> >> I could use them. > >> >> > >> >> I can, luckily, fudge much of what I want to do by creating small > >> >> python classes and functions in python to proxy the values to > >> >> underlying csharp classes. However thing would be cleaner if I could > >> >> do it directly in csharp. > >> >> > >> >> Thanks in advance for any suggestions. > >> >> > >> >> Alex > >> >> _______________________________________________ > >> >> Users mailing list > >> >> Users@lists.ironpython.com > >> >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > >> > > >> > _______________________________________________ > >> > Users mailing list > >> > Users@lists.ironpython.com > >> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > >> > > >> _______________________________________________ > >> Users mailing list > >> Users@lists.ironpython.com > >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > > > > _______________________________________________ > > Users mailing list > > Users@lists.ironpython.com > > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > > > _______________________________________________ > Users mailing list > Users@lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >
_______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com