We're thinking now that we're going to go with the mangled version of the name 
instead of the originally cased-version.  "Dispose" just doesn't look Rubyish 
enough.  Any objections?

From: Curt Hagenlocher
Sent: Monday, September 08, 2008 9:22 PM
To: 'ironruby-core@rubyforge.org'
Subject: Overriding CLS Virtuals

I've committed some changes to IronRuby (in SVN revision 141) that let you 
implement CLS interfaces and override virtual methods on CLS base types.  
Interfaces work like Ruby modules, so to make your class implement IDisposable 
you could say

require 'mscorlib'
class Disposable
  include System.IDisposable
  def Dispose
    # Do something
  end
end

You can also override virtual properties.  A class or interface that has the C# 
declaration "string Value { get; set; }" is overridden from IronRuby with 
methods named "Value" for the getter and "Value=" for the setter.

Note that you need to use the same casing as the CLS definition for both 
methods and properties.

We're just getting started with better .NET interop support and don't have very 
much test coverage yet - but this should let you get going on some more 
sophisticated interop scenarios than were previously possible.

--
Curt Hagenlocher
[EMAIL PROTECTED]
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to