[IronPython] List<Python Class>

Paul Turbett sls at iinet.net.au
Sat May 3 07:50:58 CEST 2008


No, not really. I recently looked into serializing IPY class instances 
from C# in a hosting environment. I got it to work using some custom 
serialization code. Look into ISerializationSurrogate - I made a class 
that derives from it to make a custom Python object serializer. The 
python engine still needs the python class type to be define and 
"compiled" to be able to re-build the objects. It's a bit curly and 
ugly, and I'm still not sure what gotchas are lying in wait :)

L8r, Paul

Matthew Barnard wrote:
> Ahhh interesting. It doesn't look good for remoting then ;)
>
>
> On Fri, May 2, 2008 at 10:17 PM, Curt Hagenlocher 
> <curt at hagenlocher.org <mailto:curt at hagenlocher.org>> wrote:
>
>     Well in the example I gave, the type of class foo would genrally
>     be something like  IronPython.NewTypes.System.Object_1$2.  There's
>     not going to be any "native" CLR code to which you can pass a
>     List<IronPython.NewTypes.System.Object_1$2>, and if you're passing
>     the data to other Python code, you may as well do it as a Python
>     list or tuple.  It's the "dynamic" thing to do :).
>      
>     List<IronPython.NewTypes.System.Object_1$2> isn't even type-safe
>     for Python classes because IronPython maintains a cache of
>     generated types and will reuse a type it has previously generated
>     for any new class you define that's compatible with a
>     previously-defined class.
>
>      
>     On Fri, May 2, 2008 at 9:58 PM, Matthew Barnard
>     <m.stephen.barnard at gmail.com <mailto:m.stephen.barnard at gmail.com>>
>     wrote:
>
>         Thanks Curt, in C# I use generics (list & dict) containing
>         class instances quite often. Is there a caveat to the dynamic
>         typing that I'm missing?
>
>
>
>         On Fri, May 2, 2008 at 7:52 PM, Curt Hagenlocher
>         <curt at hagenlocher.org <mailto:curt at hagenlocher.org>> wrote:
>
>             This will get you a CLR type directly from your class object:
>              
>             class foo(object):
>                 pass
>             theType = clr.GetClrType(foo)
>              
>             What use do you have for creating a generic with the
>             resulting (dynamically-generated) type?
>
>             On Fri, May 2, 2008 at 6:30 PM, Matthew Barnard
>             <m.stephen.barnard at gmail.com
>             <mailto:m.stephen.barnard at gmail.com>> wrote:
>
>                 Is the following the only way to create a generic
>                 containing a python class?
>
>
>                 from System.Collections.Generic import List
>                 from System import Type
>
>                 class Foo:
>                     >>class stuff<<
>
>                 l = List[Type.GetType(Foo())]()
>
>
>                 I assume this is the nature of dynamic typing, but is
>                 there a way to get the type from the classobj, and not
>                 an instance?
>
>                 _______________________________________________
>                 Users mailing list
>                 Users at lists.ironpython.com
>                 <mailto:Users at lists.ironpython.com>
>                 http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
>
>             _______________________________________________
>             Users mailing list
>             Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>             http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
>
>
>         -- 
>         ___________________________
>         Matthew Barnard
>         602 540 0652
>         _______________________________________________
>         Users mailing list
>         Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>         http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
>
>     _______________________________________________
>     Users mailing list
>     Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>     http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
>
>
> -- 
> ___________________________
> Matthew Barnard
> 602 540 0652
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>   

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


More information about the Ironpython-users mailing list