[Ironruby-core] Overriding CLS Virtuals

Curt Hagenlocher curth at microsoft.com
Tue Sep 9 00:21:39 EDT 2008

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

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
curth at microsoft.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20080908/24d59288/attachment.html>

More information about the Ironruby-core mailing list