Как получить правильный массив строк C# из вызова функции JavaScript, используя Jint
Я использую Jint для оценки JavaScript в приложении C#. Мой JS возвращает массив строк:
return ["blah", "blah", "blah"];
Но я не уверен, как правильно использовать этот массив, когда вернусь в C#:
Object result = e.Execute (javaScript).Invoke("jsFunction", answers).ToObject();
string[] resultAsStrings = ???;
Вот как выглядит отладчик:
1 ответ
Вы можете просто разыграть результат ToObject()
для object[]
в этом случае.
Вот преобразования, которые ToObject()
применяется при обращении к значению JavaScript:
undefined
:null
null
:null
Boolean
:bool
String
:string
Number
:double
Array
:object[]
с каждым элементом, преобразованным с помощьюToObject()
Date
:DateTime
Function
:Func<JsValue, JsValue[], JsValue>
RegExp
:Regex
Object
:dynamic
со всеми свойствами объекта, преобразованного с помощьюToObject()
Если ни один тип не соответствует, он бросает ArgumentOutOfRangeException