Выполнить функцию со сложными параметрами

По несоответствующей причине для этого вопроса мне нужно вызвать функцию javascript, определенную внутри js-файла, из настольного приложения.net и получить результат.

Я использую юрский, чтобы сделать это. Однако я не знаю, как вызывать функции, которые получают сложные типы. Проще объяснить на примере.

У меня есть этот файл JS

function plus(a, b) {
    return a + b;
}

Затем для вызова этой функции в.net я использую этот код:

    Dim auxfile As New Jurassic.FileScriptSource(pathToPreviosJSFile)
    Dim aux As New Jurassic.ScriptEngine
    aux.Evaluate(auxfile)
    Dim suma As Integer = aux.Evaluate("plus(2,3)")

В этот момент suma = 5. Однако, если определение функции плюс было

function plus(a, b) {
    return a.value + b.value;
}

Как мне вызвать функцию плюс, чтобы получить тот же результат?

1 ответ

Решение

Вы называете значение свойством a а также b означает, что А и В являются объектами. так что вы можете вызвать эту функцию как

Dim suma As Integer = aux.Evaluate("plus({value:2},{value:3})")
Другие вопросы по тегам