2015-05-28 5 views
1

По причине не имеющей отношения к этому вопросу, мне нужно вызвать функцию 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)") 

На данный момент сума = 5. Однако если определение плюс функция была

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

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

+2

слепой догадка: 'Dim Suma As Integer = aux.Evaluate ("плюс ({значение: 2}, {значения: 3})")' –

+0

@WolfgangKluge Совершенными. Это решение. Спасибо за помощь – Rumpelstinsk

ответ

1

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

Dim suma As Integer = aux.Evaluate("plus({value:2},{value:3})") 
+0

Отлично. Это решение. Спасибо за помощь. Я отмечу это как принятый ответ за 10 минут :) – Rumpelstinsk

Смежные вопросы