2017-07-31 92 views
0

我有ClearScript可以做任何ClearScript:如何获取对象的值

error = "value is invalid"; 

error = [ 
     { 
      language: 'en', 
      message: "value is invalid" 
     }, 
     { 
      language: 'fr', 
      message: "valeur incorrecte" 
     } 
    ]; 

如何在C#我可以得到数组中的值?

而且,为了得到一个或另一个我没有选择做一个尝试/捕捉,是吗?

回答

2

如果你的脚本设置如上图所示命名error一个全局变量,你可以这样处理它:

dynamic error = engine.Script.error; 
var message = error as string; 
if (message != null) { 
    Console.WriteLine(message); 
} 
else if (error is ScriptObject) { 
    if (error.constructor.name == "Array") { 
     for (var i = 0; i < error.length; ++i) { 
      Console.WriteLine("({0}) {1}", error[i].language, error[i].message); 
     } 
    } 
    else { 
     // handle other error types 
    } 
} 
+0

很多比我试过那么复杂。非常感谢。 – pdube