ValueTuple
と動的オブジェクトを使用すると、私はこの奇妙なCS8133エラーを受け取りました。私は入力として動的オブジェクトを渡し、ValueTupleを出力として取ります。なぜ彼らはお互いに影響を与えているのですか?C#ValueTupleとダイナミックを混在させるときにこのコンパイラエラーが発生する
public static (string, string) foo(dynamic input)
{
return ("", "");
}
public void foo_test()
{
dynamic input = new { a = "", b = "" };
(string v1, string v2) = foo(new { a = "", b = "" }); //compiles fine
(string v3, string v4) = foo(input); //CS8133 Cannot deconstruct dynamic objects
var result = foo(input); //compiles fine
}
編集: エラーメッセージがある:CS8133 Cannot deconstruct dynamic objects
エラーメッセージは何ですか? –
'foo(入力)' - > 'foo((オブジェクト)入力)' – PetSerAl
@PetSerAlなぜですか?コンパイラが2回目の呼び出しでエラーを報告するのはなぜですか? –