I think it might be just "Dynamic" in 2.0.

From: [email protected] 
[mailto:[email protected]] On Behalf Of Curt Hagenlocher
Sent: Tuesday, April 14, 2009 11:05 AM
To: Discussion of IronPython
Subject: Re: [IronPython] **kwargs and __getattr__ handling in csharp functions 
and classes?

It should be Microsoft.Scripting.DynamicObject in 2.0.
On Tue, Apr 14, 2009 at 11:02 AM, Alex News 
<[email protected]<mailto:[email protected]>> 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 
<[email protected]<mailto:[email protected]>> 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 
> <[email protected]<mailto:[email protected]>> 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 
>> <[email protected]<mailto:[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<http://vb.net/>, IronRuby,
>> > etc...).
>> >
>> >
>> >> -----Original Message-----
>> >> From: 
>> >> [email protected]<mailto:[email protected]>
>> >>  [mailto:users-<mailto:users->
>> >> [email protected]<mailto:[email protected]>] On 
>> >> Behalf Of Alex News
>> >> Sent: Tuesday, April 14, 2009 7:32 AM
>> >> To: [email protected]<mailto:[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]<mailto:[email protected]>
>> >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>> >
>> > _______________________________________________
>> > Users mailing list
>> > [email protected]<mailto:[email protected]>
>> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>> >
>> _______________________________________________
>> Users mailing list
>> [email protected]<mailto:[email protected]>
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
> _______________________________________________
> Users mailing list
> [email protected]<mailto:[email protected]>
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
_______________________________________________
Users mailing list
[email protected]<mailto:[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

Reply via email to