"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