我正在嘗試創(chuàng)建一個將匿名類型轉(zhuǎn)換為字典的函數(shù)。 我正在查看此鏈接線程中已接受的答案。但是我收到錯誤無法使用 lambda 表達(dá)式作為動態(tài)參數(shù) 分派操作而不首先將其強(qiáng)制轉(zhuǎn)換為委托或 表達(dá)式樹類型這就是我想做的public Dictionary<string,string> convert(dynamic dtype){ var props = content.GetType().GetProperties(); var pairs = props.Select(x => x.Name + "=" + x.GetValue(a, null)).ToArray(); // <----Exception var result = string.Join("&", pairs); return result} 關(guān)于如何解決這個問題有什么建議嗎?我正在嘗試這樣做 var student= new { // TODO: Make this figure out and return underlying device status. type = "Active", }; var dict = convert(student);
1 回答

縹緲止盈
TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個贊
例外在這里:
x.GetValue(a, null)
只需將 a 更改為 content,如下所示:
var pairs = props.Select(x => x.Name + "=" + x.GetValue(content, null)).ToArray();
content 是您的匿名對象的名稱。
但是你寫的這個解決方案不返回字典。 如果您想要字典,請執(zhí)行以下操作:
public static Dictionary<string, string> convert(object content)
{
var props = content.GetType().GetProperties();
var pairDictionary = props.ToDictionary(x => x.Name,x=>x.GetValue(content,null)?.ToString());
return pairDictionary;
}
- 1 回答
- 0 關(guān)注
- 193 瀏覽
添加回答
舉報
0/150
提交
取消