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
<[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> 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
<[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
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
<[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> 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
<[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> 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
[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
--
___________________________
Matthew Barnard
602 540 0652
_______________________________________________
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
--
___________________________
Matthew Barnard
602 540 0652
------------------------------------------------------------------------
_______________________________________________
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