The output value of the ref parameter will be returned in the return value:
r.cs:
public class C{
public static string M(ref string s) {
string old = s;
s = "new string";
return old;
}
}
D:\Merlin1\Main\Bin\Debug>csc /t:library r.cs
Microsoft (R) Visual C# 2005 Compiler version 8.00.50727.42
for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727
Copyright (C) Microsoft Corporation 2001-2005. All rights reserved.
D:\Merlin1\Main\Bin\Debug>ipy.exe
IronPython console: IronPython 2.0 (2.0.0.0) on .NET 2.0.50727.832
Copyright (c) Microsoft Corporation. All rights reserved.
>>> import clr
>>> clr.AddReference("r.dll")
>>> import C
>>> C.M("old string")
('old string', 'new string')
>>>
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of John Barham
Sent: Tuesday, June 19, 2007 10:10 AM
To: [email protected]
Subject: [IronPython] Passing a reference to a string
I'm trying to call a C# method from IP that takes a reference to a
string as one of its parameters. I'm passing it a System.String()
object, but the string is not changed after I call the method. I know
that CPython (and presumably IP) strings are immutable so how do I get
C# to change the string object that I pass in?
Thanks,
John
_______________________________________________
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