"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."

This has always been a lingering thought in the back of my head - I've been 
wondering how long it'd be until it came up.

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Curt Hagenlocher
Sent: Friday, May 02, 2008 10:17 PM
To: Discussion of IronPython
Subject: Re: [IronPython] List<Python Class>

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
Users@lists.ironpython.com<mailto:Users@lists.ironpython.com>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


_______________________________________________
Users mailing list
Users@lists.ironpython.com<mailto:Users@lists.ironpython.com>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


--
___________________________
Matthew Barnard
602 540 0652
_______________________________________________
Users mailing list
Users@lists.ironpython.com<mailto:Users@lists.ironpython.com>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to