メソッドの引数として匿名オブジェクトを渡すことに問題があります。JavaScriptのようにオブジェクトを渡したい。例:
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.Collections.Generic.IEnumerable)'に最適なオーバーロードされたメソッドの一致には、いくつかの無効な引数があります
- 'System.Collections.Generic.IEnumerable'には'txt'の定義が含まれておらず、タイプ'System.Collections.Generic.IEnumerable'の最初の引数を受け入れる拡張メソッド'txt'が見つかりませんでした(usingディレクティブがありませんか?またはアセンブリリファレンス?)