Как вызвать общий метод (.NET 3.5 SP1) от IronRuby v0.9? Попытка сделать что-то как obj.method(:method_name).of(String).call
кажется не работает как «из» неизвестный метод.Вызов универсального метода от IronRuby
Большое спасибо
Как вызвать общий метод (.NET 3.5 SP1) от IronRuby v0.9? Попытка сделать что-то как obj.method(:method_name).of(String).call
кажется не работает как «из» неизвестный метод.Вызов универсального метода от IronRuby
Большое спасибо
Это работает для меня (я использую 0.9.1):
IronRuby:
obj = ClassLibrary1::Class1.new
obj.method(:test).of(String).call("test")
C#:
namespace ClassLibrary1
{
public class Class1
{
public string Test<T>(T param)
{
return param.ToString();
}
}
}
Вы также можете используйте индексы индекса массива для передачи общих аргументов методам, и вы также можете выполнить proc с индексаторами массивов, так что пример Шая может выглядеть следующим образом тоже:
obj.method(:test)[String]["test"]
Это не работает для меня Джимми. obj.method (: test) [String] возвращает объект String - 'String', поэтому передача ["test"] к нему приводит к исключению. –
Вы правы, это, кажется, проблема с выпуском v0.9 (http://dlr.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=20378) , Если я скомпилирую выпуск 0.9.1, он работает и для меня. – JPW
Теперь выпущена двоичная версия 0.9.1, поэтому вам не нужно ее компилировать –