メソッドの引数として匿名オブジェクトを渡す際に問題があります。私は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: 「にSystem.Collectionsに 'AnonymousTypeの#1' から変換することはできません.Generic.IEnumerable '
- ' ConsoleApplication1.Test.TestMethod(System.Collect)に最適なオーバーロードされたメソッドが一致します。 ions.Generic.IEnumerable「) は、いくつかの無効な引数
- 『を有しているSystem.Collections.Generic.IEnumerableはTXT『と拡張子なしのメソッド 『TXT』タイプの最初の 引数を受け入れる」システム』のため の定義が含まれていません』 .Collections.Generic.IEnumerable」 は(あなたがusingディレクティブまたはアセンブリ参照 不足している?)見つけることができる
なぜあなたはIEnumerableをを望んでいる方法に匿名のオブジェクトを渡していますか?それはちょうど '動的'を受け入れるようにしてください – GregRos
@ GregRosありがとう、ちょうど私は強く型付けされた言語で新しく、私の研究は私にこれを示しています... – user1091156