首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clearscript将字典作为函数参数

Clearscript将字典作为函数参数
EN

Stack Overflow用户
提问于 2022-10-04 09:19:56
回答 1查看 179关注 0票数 0

我有JS代码:

代码语言:javascript
复制
function on_save() {
    Service.AddTableRow([{id: 21194, value: "jjkk"}, {id: 1234, value: "Lala"}]);
    return true;
}

进入c#,我需要:

代码语言:javascript
复制
var engine = new V8ScriptEngine();
engine.AddHostObject("Service", scriptService);
engine.Execute(content);
result = engine.Script.on_save();

scriptService中我有:

代码语言:javascript
复制
public void AddTableRow(Dictionary<string, object> values)
{
    //but there is invalid argument "values"
    //I also tried List<object> param type but result is the same
}

我怎样才能解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2022-10-04 18:10:23

试着做这样的事情:

代码语言:javascript
复制
public void AddTableRow(IList list) {
    foreach (ScriptObject item in list) {
        Console.WriteLine("{0} -> {1}", item["id"], item["value"]);
    }
}

您可以看到这个示例工作的这里

编辑:如果您使用的是比ClearScript 6更老的东西,您可以这样做:

代码语言:javascript
复制
public void AddTableRow(dynamic list) {
    int length = list.length;
    for (var i = 0; i < length; ++i) {
        var item = list[i];
        Console.WriteLine("{0} → {1}", item.id, item.value);
    }
}

该技术还演示了这里。较新的ClearScript版本同时支持两者。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73945675

复制
相关文章

相似问题

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