ClearScript:如何输出对象?
ClearScript: How to output an object?
这是 C# 代码:
string jsScript = "var x = {A: 10, B: 100}";
scriptEngine.Evaluate(jsScript);
var result = scriptEngine.Evaluate("x");
结果是 WindowsScriptItem 对象的一个实例,如何获取值 10 和 100?
如果您知道对象的 属性 名称,您可以这样做:
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]);
显然,如果对象的 属性 值本身可以是对象,您将需要更复杂的东西。
这是 C# 代码:
string jsScript = "var x = {A: 10, B: 100}";
scriptEngine.Evaluate(jsScript);
var result = scriptEngine.Evaluate("x");
结果是 WindowsScriptItem 对象的一个实例,如何获取值 10 和 100?
如果您知道对象的 属性 名称,您可以这样做:
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]);
显然,如果对象的 属性 值本身可以是对象,您将需要更复杂的东西。