ОБРАТИТЕ ВНИМАНИЕ: Мне известно, что на аналогичный вопрос уже дан ответ . Мне потребовалось некоторое время, чтобы найти этот вопрос / ответ, поскольку предполагается, что я осознал, что он , в частности , включает методы расширения, чего я сначала не делал. У меня было неверное предположение, что функция static using
может только использоваться с методами расширения, поэтому из-за ее кажущейся избыточности я не включил ее при поиске.
Цель этого поста - помочь людям, которые этого не понимают.
У меня есть код с using static directive
, представленный в C# 6:
using static MyNs.MyExtensionMethods;
Я пытаюсь использовать метод расширения, определенный в MyNs.MyExtensionMethods
, и он работает (как всегда):
foo.MyExtensionMethod();
Но это не так:
MyExtensionMethod(foo);
Я получаю ошибку компилятора «Имя« MyExtensionMethod »не существует в текущем контексте». Что происходит?