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