Hi Barton,
do you still have any plans to work on the merge? I am curious what the changes are (how much, what impact do they have) and whether there something can be done to help you with this.
Thanks in advance!
2011/1/7 Barton <barton@bcdesignswell.com>
I've got this working on my private (for the moment) branch. I could do this merge by this weekend if folks will find it useful.
-Barton
On 1/6/2011 6:59 AM, Oleksii Bidiuk wrote:Hi Alla,
thanks for your prompt repsonse. In Python terms String('A') means constructor with a string parameter AFAIK. When I use the python.exe build against CLR 2.0 (from pythonnet-2.0-alpha2-clr2.0_115_py26.zip) it works, but then it talks against .NET 2.0 while I want to talk to the same 4.0 version as my .NET application.
With the example below using the .NET 2.0 version I get
>>> s = String.__overloads__[Char, Int32]('A', 10)Traceback (most recent call last):File "<stdin>", line 1, in <module>AttributeError: type object 'String' has no attribute '__overloads__'
Basically it seems that the version of python for .net compiled against .NET 4.0 runtime does not work out of box for me. I wonder if somebody had more luck with this.
2011/1/6 Alla Gofman <Alla.Gofman@sandisk.com>
Hi Oleksii,
I have no experience with importing .net modules into Python.
I work on embedding Python into C#.
There is no such constructor String('A') for String class as you use, which gets char.
You can see which constructors exists in: http://msdn.microsoft.com/en-us/library/system.string.string.aspx
Example:
I read in http://pythonnet.sourceforge.net/readme.html
In most cases, Python for .NET can determine the correct constructor to call automatically based on the arguments. In some cases, it may be necessary to call a particular overloaded constructor, which is supported by a special "__overloads__" attribute on a class:
from System import String, Char, Int32
s = String.__overloads__[Char, Int32]('A', 10)
I hope you succeed,
Alla