kobra (.NET for Python) Update

Chetan Gadgil cgjunkaddr at attbi.com
Fri Jan 31 07:17:28 CET 2003


Well, after many headaches, I decided to get rid of the mapping between
Python tuples/lists to .NET arrays.

Partially due to the fact that Python lists and tuples are not strongly
typed, but more because .NET already has Collection types, and I wanted this
layer to be thin, I decided to get rid of this mapping.
So now, the impact:

You can no longer expect strongly typed arrays. In other words, .NET treats
String[] differently from Object[] containing "String" objects.

You can still pass arrays of arrays - they will all map to Object[][]...

But to simply pass strongly typed arrays, you can just create an ArrayList
object, add objects and call "ToArray"

For an example see the docs:

http://www.gadgil.net/DotNetWrapperForPython.htm


Python 2.2.2 (#37, Oct 14 2002, 17:02:34) [MSC 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import kobralib
>>> coll1 = kobralib.createObject("mscorlib",
"System.Collections.ArrayList", 0)
kobra - A Python Wrapper for .NET
Copyright (C) 2003 Chetan Gadgil (chetan at gadgil dot net)
All Rights Reserved
>>> coll1.Add("managerRole")
0L
>>> asm = coll1.GetType().Assembly()
>>> t1 = asm.GetType("System.String")
>>> ma = coll1.ToArray(t1)

I know, this is a bit roundabout, but I will add utility methods to the
Python layer.

A newer version with a fix for a serious ClassCastException is also
available:


http://www.gadgil.net/files/kobralib-1.5.win32.exe


Regards
Chetan Gadgil






More information about the Python-list mailing list