ClearScript:如何输出对象?

时间:2015-03-31 06:24:25

标签: clearscript

这是C#代码:

string jsScript = "var x = {A: 10, B: 100}";
scriptEngine.Evaluate(jsScript);
var result = scriptEngine.Evaluate("x");

结果是一个WindowsScriptItem对象的实例,如何获取值10和100?

1 个答案:

答案 0 :(得分:2)

如果您知道对象的属性名称,则可以执行以下操作:

dynamic dynamicResult = result;
Console.WriteLine(dynamicResult.A);
Console.WriteLine(dynamicResult.B);

如果您不知道属性名称,可以执行以下操作:

dynamic dynamicResult = result;
foreach (var name in dynamicResult.GetDynamicMemberNames())
    Console.WriteLine("{0}: {1}", name, dynamicResult[name]);

如果对象的属性值本身就是对象,显然你需要更复杂的东西。