Динамическая переменная обрабатывается во время выполнения. на этот раз CLR не может получить достаточно информации о синтаксисе контекста, чтобы решить, какой метод расширения используется. Так что это не работа.
аю книгу «C # in Depth, 2nd Edition» Джона Скита. Он сказал, что мы можем вызывать методы расширения с динамическими аргументами, используя два обходных пути, так же как
dynamic size = 5;
var numbers = Enumerable.Range(10, 10);
var error = numbers.Take(size);
var workaround1 = numbers.Take((int) size);
var workaround2 = Enumerable.Take(numbers, size);
Затем он сказал: «Оба подхода будут работать, если вы хотите вызвать метод расширения с динамическим значением в качестве неявногоthis
значение ". Я не знаю, как этого достичь.
Большое спасибо.