0

我有 ClearScript 可以做到

error = "value is invalid";

或者

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

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

而且,要获得一种情况或另一种情况,我无法选择尝试/捕获,对吗?

4

1 回答 1

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
    }
}
于 2017-07-31T18:12:50.520 回答