It returns another return value with the new ref value. For example, if you have the next c# class: public class Class1 { public string DoSomething(ref string test) { test = test + "tamtamtam";
return "return value"; } } This is the IronRuby code you can write to use it: >>> require 'c:\dev\TestApps\TestClass\TestClass\bin\Debug\TestClass.dll' => true >>> c = Class1.new => TestClass.Class1 >>> str = "hello" => "hello" >>> result = c.do_something(str) => ['return value', 'hellotamtamtam'] Pay attention that the result variable is an array that contains the method return value as the first item and the ref value as the second parameter. Shay. -------------------------------------------------------- Shay Friedman | .NET Technologies Expert | Author of IronRuby Unleashed | Sela Technology Center Blog: http://IronShay.com | Twitter: http://twitter.com/ironshay On Thu, Feb 11, 2010 at 3:44 PM, Michael Erasmus <michaeleras...@gmail.com>wrote: > Hi Everyone, > > I'm trying to write a IronRuby script that interops with a a .NET assembly > written in C#. > > It has a class that derives from a base class in the .NET assembly. One of > the base class protected methods looks like this: > > protected void OnNotifyPropertyChanged<T>(string name, ref T localmember, T > value) > { > ...... > } > > I can't for the life of me figure out how to call this method from IR in my > derived class. > The documentation mentions that you can call *out *parameters without > using them as arguments, but I can't seem to find anything about *ref * > params. > > If I just try calling the method like this: > > OnNotifyPropertyChanged(property_name, value, value) > > I get this error: > > *Microsoft.Scripting.Core:0:in `Bind': Expression of type > 'IronRuby.Builtins.Muta* > *bleString&' cannot be used for parameter of type > 'IronRuby.Builtins.MutableStrin* > *g' of method 'Void > #base#OnNotifyPropertyChanged[MutableString](System.String, I* > *ronRuby.Builtins.MutableString ByRef, IronRuby.Builtins.MutableString)' > (Argumen* > *tError)* > * from Microsoft.Scripting.Core:0:in `BindCore'* > * from ./dynamic_event_item.rb:22:in `method_missing'* > * from :0* > > > Am I missing something? > > Thanks > > Michael Erasmus > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core@rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > >
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core