gpt4 book ai didi

javascript - ClearScript:停止将方法转换为 JavaScript 属性

转载 作者:行者123 更新时间:2023-11-28 04:14:58 26 4
gpt4 key购买 nike

_Engine.Script.test( new { test = 123, cat = "lolcat" } );

这会将以下内容输出到 JavaScript:

{"Equals":{},"GetHashCode":{},"ToString":{},"GetType":{},"test":123,"cat":"lolcat"}

正如您所看到的,方法也正在转换为 Json 属性。是否可以(使用尽可能少的样板语法)仅发送属性?对于类似 Expando 的对象也是如此。

下面的工作,我可以用一些扩展方法替换一些样板,但如果我能完全摆脱所有样板,那就太好了。

var js = _Engine.Evaluate( "eval(" + JSONSerializer.Serialize(new { test = 123, cat = "lolcat" }) + ")" );

_Engine.Script.test( js );

最佳答案

使用 ClearScript 的 PropertyBag 怎么样? ?例如,

_Engine.Script.test( new PropertyBag { { "test", 123 }, { "cat", "lolcat" } } );

或者,如果您使用的是 C# 6 或更高版本,

_Engine.Script.test( new PropertyBag { ["test"] = 123, ["cat"] = "lolcat" } );

关于javascript - ClearScript:停止将方法转换为 JavaScript 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45938941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com