yep that is correct :) http://github.com/casualjim/ironnails/tree/master/IronNails/vendor/iron_nails/lib/core_ext/kernel.rb
I figure you can wrap that in a begin..rescue block again and first try the one with the bool and then the one without it. Some implementations of Dispose don't actually implement the method with a bool as parameter. Instead of FileStream you can use the ruby File class or you could write a FileStreamAdapter in C# or something so you can safely use it from IronRuby without the overloading mayhem. Cheers Ivan On Tue, Sep 9, 2008 at 1:25 PM, Curt Hagenlocher <[EMAIL PROTECTED]>wrote: > Yes, this has been reported before (in fact, I think it was when someone > was writing "using" J) and we haven't yet worked out a resolution. I'll > see if there's something quick that can be fixed here later today. > > > > *From:* [EMAIL PROTECTED] [mailto: > [EMAIL PROTECTED] *On Behalf Of *Orion Edwards > *Sent:* Monday, September 08, 2008 10:12 PM > *To:* ironruby-core@rubyforge.org > *Subject:* Re: [Ironruby-core] Mysteriously broken calls to dispose? > > > > Follow-up > > If I call $fs.dispose(true), then it works. > > It seems there's a protected dispose(bool) in a derived class. > I can't actually call Dispose(true) from C# as the compiler tells me it's > protected. > > It strikes me as somewhat broken that the method which ironruby actually > invokes is the one that you shouldn't invoke... > > At any rate, I'd be overjoyed if anyone could point me in the direction of > a fix. I'm trying to write 'using' (a la C#) in ruby as part of demo for my > local .NET user group. It should be trivial and showcase how awesome > IronRuby is :-( > > Orion Edwards wrote: > > I don't seem to be able to call Dispose on a filestream. Needless to say > this is problematic. > > Here's a paste, straight from the IR console (latest svn version 141) > > >>> require 'mscorlib' > > => true > > >>> include System::IO > > => Object > > >>> $fs = FileStream.new( 'file.txt', FileMode.Open ) > > => #<System::IO::FileStream:0x000005c> > > >>> $fs.Dispose > > c:\development\ironruby\trunk\src\microsoft.scripting.core\actions\matchcaller.generated.cs:30:in > `Call2': wrong number or type of arguments for `Dispose' (ArgumentError) > > from > c:\development\ironruby\trunk\src\microsoft.scripting.core\actions\callsite.cs:275:in > `UpdateAndExecute' > > from > c:\development\ironruby\trunk\src\microsoft.scripting.core\actions\updatedelegates.generated.cs:38:in > `Update2' > > from :0 > > >>> > > > > > > All the other methods on the filestream object work fine (read_all_text, > and so on), but the call to dispose crashes. > > Likewise, I get a crash calling methods with overloads, which looks like it > may (??) be related. > > >>> require 'mscorlib' > > => true > > >>> include System::IO > > => Object > > >>> $bytes = System::IO::File.read_all_bytes( 'file.txt' ); nil # nil is to > >>> prevent ir from printing the GIANT ARRAY > > => nil > > >>> $text = System::Text::Encoding.UTF8.get_string($bytes) > > c:\development\ironruby\trunk\src\microsoft.scripting.core\actions\matchcaller.generated.cs:35:in > `Call3': wrong number or type of arguments for `get_string' (ArgumentError) > > from > c:\development\ironruby\trunk\src\microsoft.scripting.core\actions\callsite.cs:275:in > `UpdateAndExecute' > > from > c:\development\ironruby\trunk\src\microsoft.scripting.core\actions\updatedelegates.generated.cs:45:in > `Update3' > > from :0 > > > > >>> $text = System::Text::Encoding.UTF8.get_string($bytes, 0, $bytes.length) > > => "PROPER TEXT GOES HERE" > > > > It seems like it can't figure out that there is GetString(bytes) and > GetString(bytes, index, length) and just uses the latter always. > Is there a solution for either of these problems? > > Thanks a lot, Orion > > > > > > ------------------------------ > > > > _______________________________________________ > > 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 > >
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core