我在傳遞匿名對象作爲方法中的參數時遇到問題。我想在JavaScript中傳遞對象。例如:在C中傳遞匿名對象作爲參數#
function Test(obj) {
return obj.txt;
}
console.log(Test({ txt: "test"}));
但在C#中,它引發許多例外:
class Test
{
public static string TestMethod(IEnumerable<dynamic> obj)
{
return obj.txt;
}
}
Console.WriteLine(Test.TestMethod(new { txt = "test" }));
例外:
- 參數1:無法從 'AnonymousType#1' 轉換爲 「System.Collections中.Generic.IEnumerable'
- 最佳重載方法匹配 'ConsoleApplication1.Test.TestMethod(System.Collect ions.Generic.IEnumerable)「 有一些無效參數
- ‘System.Collections.Generic.IEnumerable’不包含用於 定義‘TXT’和沒有擴展方法‘TXT’接受型的第一 參數」系統.Collections.Generic.IEnumerable」 可以找到(是否缺少using指令或程序集 參考?)
爲什麼你傳遞一個匿名對象到想要的IEnumerable的方法?讓它只接受'動態' – GregRos
@GregRos謝謝你,只是我在強類型語言中是新的,我的研究告訴我這個... – user1091156