上下文: ClearScript、JScript、C#、Windows、Azure
在我的启用了ClearScript的项目中,我有一个Dictionary<string,object>,我使用它在被评估的脚本内部和外部传递数据。
在C#方面,我有
static Dictionary<string, object> Settings = new Dictionary<string, object>();然后再后来
JSengine = new JScriptEngine(WindowsScriptEngineFlags.EnableDebugging | WindowsScriptEngineFlags.EnableJITDebugging);和
JSengine.AddHostObject("CSSettings", Settings);在JScript方面,我有一些东西,比如
CSSettings.Add("your API key", CSConfig.Retrieve("api.key"));用于设置值。
目前的挑战是更新字典中的值。下面的作品
CSSettings.Item("id") = Wfm_AccNumber;只是它是非标准的JScript。更重要的是,我在Notepad++内部使用的JSHint工具抱怨道。
我想我可以在.Add()之前做一个.Remove(),但是有没有更好的方法呢?
发布于 2016-09-09 19:22:38
下面的代码应该可以工作:
CSSettings.Item.set("id", Wfm_AccNumber);
value = CSSettings.Item.get("id"); // or CSSettings.Item("id")这看起来可能有点笨拙,但它是标准的JavaScript,应该可以与所有的.NET索引器一起使用(它并不总是命名为"Item",并且可以有多个参数)。
https://stackoverflow.com/questions/39406105
复制相似问题