Hi guys, thanks for all the suggestions. > 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); > That's what was missing! Thank you...
I'll have a closer look at the hosting tests, I guess this was probably in there already. thanks! -- Thibaut > > > ~js > > > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Jimmy Schementi > *Sent:* Monday, February 09, 2009 5:43 PM > *To:* [email protected] > *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:* [email protected] [mailto: > [email protected]] *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 > [email protected] > http://rubyforge.org/mailman/listinfo/ironruby-core > >
_______________________________________________ Ironruby-core mailing list [email protected] http://rubyforge.org/mailman/listinfo/ironruby-core
