如何使用Jint从JavaScript函数调用中获取正确的C#字符串数组

时间:2015-09-16 18:21:02

标签: javascript c# arrays casting jint

我正在使用Jint来评估C#应用程序中的JavaScript。我的JS返回一个字符串数组:

return ["blah", "blah", "blah"];

但是一旦我回到C#中,我不确定如何正确使用该数组:

Object result = e.Execute (javaScript).Invoke("jsFunction", answers).ToObject();
string[] resultAsStrings = ???;

这是调试器的样子:

enter image description here

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可以将ToObject()的结果转换为object[]

以下是ToObject()在面对JavaScript值时应用的转换:

  • undefinednull
  • nullnull
  • Booleanbool
  • Stringstring
  • Numberdouble
  • Arrayobject[]每个元素本身都使用ToObject()
  • 进行转换
  • DateDateTime
  • FunctionFunc<JsValue, JsValue[], JsValue>
  • RegExpRegex
  • Objectdynamic,其中包含使用ToObject()
  • 转换的对象的所有属性

如果没有匹配的类型,则抛出ArgumentOutOfRangeException