Ah, me = dummy. You have that interface in C#, and the IronRuby code you're hosting can't see the interface. This should expose all the types in the current assembly:
engine.Runtime.LoadAssembly(GetType().Assembly); ~js From: ironruby-core-boun...@rubyforge.org [mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Jimmy Schementi Sent: Monday, February 09, 2009 5:43 PM To: ironruby-core@rubyforge.org Subject: Re: [Ironruby-core] How to implement a C# interface from Ruby ? How does it fail? Nothing fails for me, but how are you trying to use this Ruby class? (test.cs has your c# code in it): C:\dev>csc.exe /t:library test.cs Microsoft (R) Visual C# 2008 Compiler version 3.5.30729.715 for Microsoft (R) .NET Framework version 3.5 Copyright (C) Microsoft Corporation. All rights reserved. C:\dev>ir IronRuby 1.0.0.0 on .NET 2.0.50727.3521 Copyright (c) Microsoft Corporation. All rights reserved. >>> require 'test.dll' => true >>> class Doer ... include IDoSomething ... def hello_world ... puts "hello" ... end ... end => nil >>> Doer => Doer >>> Doer.new => #<Doer:0x000005c> >>> Doer.new.hello_world hello => nil ~js From: ironruby-core-boun...@rubyforge.org [mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Thibaut Barrère Sent: Monday, February 09, 2009 5:23 PM To: ironruby-core Subject: [Ironruby-core] How to implement a C# interface from Ruby ? Hello again, I'm playing around with the idea of using IronRuby to implement plugins for a C#-based system (namely, CruiseControl.Net). I'm having some difficulties trying to figure out what the correct syntax for that would be. I'm currently using this to bootstrap the engine: var reader = new StreamReader("plugin.rb"); var code = reader.ReadToEnd(); reader.Close(); var engine = IronRuby.Ruby.CreateEngine(); engine.Execute(code); The code inside plugin.rb is trying to implement an existing C# interface: public interface IDoSomething { void HelloWorld(); } I tried: class Doer include IDoSomething def hello_world puts "hello" end end but it fails. What would be the correct syntax for a Ruby class to implement this ? thanks! -- Thibaut
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core