In principle, this is absolutely something that could be done (though I 
wouldn’t expect we would do it any time soon).

*but*, this doesn’t do what I think you want. Previously-compiled calls to 
SomeClass.MyMethod won’t actually end up going to Inheritor.MyMethod even if 
the object is of type Inheritor. The base method would have to be defined as 
“virtual”, or the new method will end up in a new slot on the method table.

From: ironruby-core-boun...@rubyforge.org 
[mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Ivan Porto Carrero
Sent: Thursday, May 14, 2009 12:23 PM
To: ironruby-core
Subject: [Ironruby-core] aaah yes ... clr interop

I'm sorry I'll probably keep hitting all those points while I'm writing 
integration specs.

Ok so would it be possible to have a way to configure the underlying type which 
methods it needs to redefine with a new operator

public class SomeClass{
    public void MyMethod(){
    }
}

public class Inheritor : SomeClass {
    public new void MyMethod(){
       //some new logic here
    }
}

something like

class Inheritor < SomeClass

  redef_method :my_method

end



--
---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to