Как вызвать перегруженные универсальные методы в IronRuby?

Как я могу вызвать перегруженный универсальный метод в IronRuby?

У меня есть класс.NET со следующими методами. (Обратите внимание, что методы являются статическими)

Factory.cs
----
public static T CreateService<T>()
public static T CreateService<T>(string serviceName)

ironruby_sample.rb
----
service = Factory.create_service[ISomeService]

=> выдает ошибку "неверные аргументы"

Кстати, я использую IronRuby 0.5.

1 ответ

Решение
Factory.method(:create_service).of(System::String).call(serviceName)

Вам не нужно указывать аргумент IronRuby автоматически выберет перегрузку. Вы должны захватить метод и затем дать ему (а) параметры типа. Затем вы передаете аргументы в метод вызова

Другие вопросы по тегам