[IronPython] .NET attributes for methods

Shri Borde Shri.Borde at microsoft.com
Thu Nov 12 19:26:31 CET 2009


So the new clrtype.py still works - cool!

I am not an expert on data binding, so I don't have any suggestions. Why do you say that the decorator approach will not work with Silverlight? Does @notifiy_property from http://gui-at.blogspot.com/2009/11/inotifypropertychanged-in-ironpython.html use any feature not available in Silverlight?

From: Lukas Cenovsky [mailto:cenovsky at bakalari.cz]
Sent: Thursday, November 12, 2009 8:09 AM
To: Shri Borde
Subject: Re: [IronPython] .NET attributes for methods

Thanks, that works!

What do you think would be the best approach to create notifiable properties for Silverlight? I did it for WPF (via decorators: http://gui-at.blogspot.com/2009/11/inotifypropertychanged-in-ironpython.html) but it seems to me it won't be possible to do it similarly for Silverlight...

--
-- Lukáš

Shri Borde wrote:
Can you use "_clrproperties" instead of "_clrfields"? DevHawk's same created a field and a property even when you just used "_clrfields". I don't do that anymore. So you will need to use "_clrproperties" to get properties, which SL must use for data binding.

From: users-bounces at lists.ironpython.com<mailto:users-bounces at lists.ironpython.com> [mailto:users-bounces at lists.ironpython.com] On Behalf Of Lukas Cenovsky
Sent: Wednesday, November 11, 2009 2:37 AM
To: Discussion of IronPython
Subject: Re: [IronPython] .NET attributes for methods

I did change __metaclass__ to ClrMetaclass. See the attached source I use for testing - the only difference is to comment/uncomment appropriate part in product.py.

The outputs look the same, there are no visible exceptions:

DevHawk:

py> a.root.FindName('listbox1').ItemsSource[0].GetType().GetFields()

=> Array[FieldInfo]((<System.Reflection.RtFieldInfo object at 0x000000000000002B [Double cost]>,

<System.Reflection.RtFieldInfo object at 0x000000000000002C [Int32 quantity]>,

<System.Reflection.RtFieldInfo object at 0x000000000000002D [System.String name]>,

<System.Reflection.RtFieldInfo object at 0x000000000000002E [IronPython.Runtime.Types.PythonType .class]>,

<System.Reflection.RtFieldInfo object at 0x000000000000002F [IronPython.Runtime.PythonDictionary .dict]>,

<System.Reflection.RtFieldInfo object at 0x0000000000000030 [System.Object[] .slots_and_weakref]>))

Shri:

py> a.root.FindName('listbox1').ItemsSource[0].GetType().GetFields()

=> Array[FieldInfo]((<System.Reflection.RtFieldInfo object at 0x000000000000002B [Double cost]>,

<System.Reflection.RtFieldInfo object at 0x000000000000002C [Int32 quantity]>,

<System.Reflection.RtFieldInfo object at 0x000000000000002D [System.String name]>,

<System.Reflection.RtFieldInfo object at 0x000000000000002E [IronPython.Runtime.Types.PythonType .class]>,

<System.Reflection.RtFieldInfo object at 0x000000000000002F [IronPython.Runtime.PythonDictionary .dict]>,

<System.Reflection.RtFieldInfo object at 0x0000000000000030 [System.Object[] .slots_and_weakref]>))

--
-- Lukáš


Shri Borde wrote:
Note that you will have to set __metaclass__ to ClrMetaclass, not ClrTypeMetaclass as in DevHawk's sample. I had changed the name of the type. The old name will cause a NameError, but maybe SL is hiding exceptions. Can you do "o.GetType().GetFields()" and display that on the page to inspect the object and also make sure that no exceptions were thrown?

From: users-bounces at lists.ironpython.com<mailto:users-bounces at lists.ironpython.com> [mailto:users-bounces at lists.ironpython.com] On Behalf Of Lukas Cenovsky
Sent: Tuesday, November 10, 2009 2:59 PM
To: Discussion of IronPython
Subject: Re: [IronPython] .NET attributes for methods

I have just found that the Silverlight binding does not work with this version of clrtype and/or IronPython 2.6RC2.
I used DevHawk demo [1] and after I added reference to Microsoft.Dynamic in clrtypemetaclass.py it worked flawlessly. But when I switch to your version, no items show in the listbox.

By the way - I have seen a commit message you have added support for interfaces - nice! ;-)

--
-- Lukáš

[1] http://cid-0d9bc809858885a4.skydrive.live.com/self.aspx/DevHawk%20Content/IronPython%20Stuff/^_^_clrtype^_^_/SL%20databinding%20demo.zip<http://cid-0d9bc809858885a4.skydrive.live.com/self.aspx/DevHawk%20Content/IronPython%20Stuff/%5E_%5E_clrtype%5E_%5E_/SL%20databinding%20demo.zip>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20091112/02fb6eb5/attachment.html>


More information about the Ironpython-users mailing list