Чтобы расширить ответ Джона, причина, по которой это не работает, заключается в том, что в обычных, нединамических методах расширения кода работают, выполняя полный поиск всех классов, известных компилятору, для статического класса, у которого есть соответствующий метод расширения. Поиск идет по порядку в зависимости от вложенности пространств имен и доступных using
директив в каждом пространстве имен.
Это означает, что для правильного разрешения вызова метода динамического расширения DLR каким-то образом должен знать во время выполнения, какие вложения и using
директивы пространств имен были в вашем исходном коде . У нас нет удобного механизма для кодирования всей этой информации на сайте вызова. Мы думали об изобретении такого механизма, но решили, что это слишком дорого и сопряжено со слишком большим риском для графика, чтобы того стоить.