IronRuby - Неверное количество аргументов

Я только начал использовать IronRuby. Это мой тестовый класс:

class Program
    {
        static void Main(string[] args)
        {
            var path = @"C:\Users\frays\Desktop\test.rb";
            var engine = Ruby.CreateEngine();
            var scope = engine.Runtime.CreateScope();

            scope.SetVariable("sendNext", new Action<string>(SendNext));

            engine.ExecuteFile(path, scope);

            Console.Read();
        }

        private static void SendNext(string text)
        {
            Console.WriteLine(text);
        }
    }

А это мой тестовый сценарий:

sendNext 'heyyy'

Однако при попытке запустить программу выдает исключение wrong number of arguments (1 for 0), хотя метод определенно принимает строку в качестве аргумента.


person Gilbert Williams    schedule 24.06.2016    source источник


Ответы (1)


Это говорит о том, что невозможно Вызов IronRuby из C # с делегатом но вы можете просто вызвать метод invoke.

sendNext.Invoke( 'heyyy')
person Max    schedule 11.08.2016