[Ironruby-core] Calling a C# static from IronRuby

Jimmy Schementi Jimmy.Schementi at microsoft.com
Fri Nov 13 15:07:47 EST 2009

FYI, we’re thinking about allowing you to use “include” with .NET types, which will include it’s static methods. That would enable:

include MyCSharpClass
puts mymethod "foo"

IronPython already does this for import, so it seems like a good idea:

from MyCSharpClass import mymethod
print mymethod("foo")


From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ivan Porto Carrero
Sent: Friday, November 13, 2009 11:04 AM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] Calling a C# static from IronRuby

You can only reach it by adding the class as receiver.

but you can use method missing as a dispatcher:

alias :old_mm :method_missing
def method_missing(method_name, *args, &block)
   return MyCSharpClass.send(method_name, *args) if MyCSharpClass.respond_to? method_name
   old_mn method_name, *args, &block

try this in a console :)

alias :old_mm :method_missing
def method_missing(method_name, *args, &block)
   return System::Math.send(method_name, *args) if System::Math.respond_to? method_name
   old_mn method_name, *args, &block

puts pi
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Blog: http://flanders.co.nz
Google Wave: portocarrero.ivan at googlewave.com<mailto:portocarrero.ivan at googlewave.com>
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)

On Fri, Nov 13, 2009 at 7:22 PM, Alexandre Mutel <lists at ruby-forum.com<mailto:lists at ruby-forum.com>> wrote:
Hi all,
Is there any way to declare a C# static method accessible from IronRuby
as a regular Ruby method?
public class MyCSharpClass {
 public static string mymethod(string test) {
    return test + "yes";

in ironruby:
puts mymethod("test")
Posted via http://www.ruby-forum.com/.
Ironruby-core mailing list
Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20091113/78f78d7e/attachment-0001.html>

More information about the Ironruby-core mailing list