You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向AdaptiveCard的SerializableDictionary<string,object>添加值报错求解决

解决向AdaptiveCard的AdditionalProperties添加值时的参数不匹配错误

尝试向AdaptiveCard的AdditionalProperties(类型为SerializableDictionary<string, object>)添加值时使用了以下代码:

var paths = new[] { ".", "Resources", "ListCard.json" };
var listCardJson = File.ReadAllText(Path.Combine(paths));

AdaptiveCard card = AdaptiveCard.FromJson(listCardJson).Card;
var properties = card.AdditionalProperties;

var obj = new AdaptiveTextBlock()
{
     Text = "No tasks found."
};

properties.Add(new KeyValuePair<string, object>("items", obj));

出现错误:

没有与Dictionary<string,object>.Add<string,object>的必需参数对应的实参


问题原因

SerializableDictionary<string, object>的Add方法没有接受KeyValuePair<string, object>作为参数的重载,它的标准Add方法要求分别传入键和值两个独立参数。

修正方案

方案1:直接传入键和值

调用Add方法时分开传入key和value参数:

var paths = new[] { ".", "Resources", "ListCard.json" };
var listCardJson = File.ReadAllText(Path.Combine(paths));

AdaptiveCard card = AdaptiveCard.FromJson(listCardJson).Card;
var properties = card.AdditionalProperties;

var obj = new AdaptiveTextBlock()
{
     Text = "No tasks found."
};

// 直接传入键和值
properties.Add("items", obj);

方案2:使用索引器赋值

如果需要通过KeyValuePair的形式操作,也可以用字典索引器直接赋值:

// 替换Add方法调用为索引器赋值
properties["items"] = obj;

内容的提问来源于stack exchange,提问作者user22034443

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:33:12