[Ironruby-core] IronRuby overloaded method selection?

Orion Edwards orion.edwards at gmail.com
Wed Feb 18 20:26:12 EST 2009


I have the following C# code, which I'm trying to translate to IronRuby

var host = new ServiceHost(typeof(MyService ));
host.AddServiceEndpoint(typeof(IWcfContract), new WSHttpBinding(), new
Uri("..."));

This compiles fine.

My ruby translation looks like this:

host = ServiceHost.new( MyService ) # this line works fine
host.add_service_endpoint( IWcfContract, WSHttpBinding.new, Uri.new("...") )

As far as I can tell, that's a direct translation and how it should work,
but the second line always throws

wrong number or type of arguments for `add_service_endpoint' (ArgumentError)

Is it something to do with the way IronRuby resolves overloads? that method
has about 8 different overloads, but I've tried
passing in strings (and all the other overload combinations), and nothing
helps.

Note which may be of use: The second parameter is typed to accept
System.ServiceModel.Channels.Binding, whereas the WSHttpBinding is about 3
or 4 steps down (up?) the inheritance tree from that. Could that be
confusing it?

Note 2: I'm running this particular IronRuby =>
http://nbs.blob.core.windows.net/dlr/DLR.10369.release.zip

At any rate:
1) How can I figure out which overload IronRuby is deciding to call?
2) How can I make it select the correct overload if it's not doing so?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090219/4bb5ed61/attachment.html>


More information about the Ironruby-core mailing list