ClearScript:如何获取对象值

ClearScript: how to get object values

我有 ClearScript 可以执行任一操作

error = "value is invalid";

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

如何在 C# 中获取数组中的值?

而且,为了得到一个或另一个案例,我没有选择做一个 try/catch,是吗?

如果你的脚本设置了一个名为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
    }
}