【问题标题】:How to update a Dictionary entry in ClearScript?如何更新 ClearScript 中的字典条目?
【发布时间】:2016-09-09 07:28:56
【问题描述】:

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

【问题讨论】:

    标签: c# jscript clearscript


    【解决方案1】:

    以下应该有效:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-02
      • 2019-08-29
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2020-05-04
      • 2021-11-08
      • 2018-04-04
      相关资源
      最近更新 更多