Как вызвать перегруженные универсальные методы в 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 автоматически выберет перегрузку. Вы должны захватить метод и затем дать ему (а) параметры типа. Затем вы передаете аргументы в метод вызова