首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ClearScript:停止将方法转换为JavaScript属性

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

Stack Overflow用户
提问于 2017-08-29 12:16:26
回答 1查看 410关注 0票数 1
代码语言:javascript
复制
_Engine.Script.test( new { test = 123, cat = "lolcat" } );

这将向JavaScript输出以下内容:

代码语言:javascript
复制
{"Equals":{},"GetHashCode":{},"ToString":{},"GetType":{},"test":123,"cat":"lolcat"}

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

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

代码语言:javascript
复制
var js = _Engine.Evaluate( "eval(" + JSONSerializer.Serialize(new { test = 123, cat = "lolcat" }) + ")" );

_Engine.Script.test( js );
EN

回答 1

Stack Overflow用户

发布于 2017-08-29 14:04:53

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

代码语言:javascript
复制
_Engine.Script.test( new PropertyBag { { "test", 123 }, { "cat", "lolcat" } } );

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

代码语言:javascript
复制
_Engine.Script.test( new PropertyBag { ["test"] = 123, ["cat"] = "lolcat" } );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45938941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档