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 <[email protected]> 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, IronRuby, > etc...). > > >> -----Original Message----- >> From: [email protected] [mailto:users- >> [email protected]] On Behalf Of Alex News >> Sent: Tuesday, April 14, 2009 7:32 AM >> To: [email protected] >> 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 >> [email protected] >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > _______________________________________________ > Users mailing list > [email protected] > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > _______________________________________________ Users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
