如何更新 ClearScript 中的字典条目?

How to update a Dictionary entry in ClearScript?

上下文: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(),但是有更好的方法吗?

以下应该有效:

CSSettings.Item.set("id", Wfm_AccNumber);
value = CSSettings.Item.get("id"); // or CSSettings.Item("id")

这可能看起来有点笨拙,但它是标准的 JavaScript,应该适用于所有 .NET 索引器(并不总是命名为 "Item",并且可以有多个参数)。