Visual Studio 2015 Intellisense часто, но непоследовательно, вводит префиксы пространств имен в мой код только для того, чтобы (правильно) сказать, что они не нужны и должны быть удалены.
Это происходит только когда я нажимаю '('ключ, пока открыто всплывающее окно Intellisense. Если я нажимаю любую другую клавишу, имя класса вводится правильно, без пространства имен.
Я видел другие вопросы без реальных ответов или с ложным предположением, что виновата неоднозначностьВ уязвимом коде нет абсолютно никакой двусмысленности, поэтому, пожалуйста, экономьте свое время и энергию и не следуйте по этому пути.
Пример проблемы:
namespace One.Two.Three.Something
{
public class TheVeryUniquelyNamedCollectionClass { }
public class TheBase { }
public class TheClass : TheBase
{
public TheVeryUniquelyNamedCollectionClass Abcd { get; }
public TheClass()
{
Abcd = new Something.TheVeryUniquelyNamedCollectionClass();
}
}
}
В приведенном выше случаеVisual Studio вставляет «Something.» В строку «Abcd = new Something.TheVeryUniquelyNamedCollectionClass ();», а затем сразу говорит, что это не нужно и должно быть удалено.
Это происходит в нескольких проектах и решениях,и это очень расстраивает необходимость бороться с Intellisense.
Примечание: Intellisense теперь отказывается демонстрировать это поведение клавишей '(' в примере выше.Ничего в примере кода не изменилось.Он просто «осознал», что пространство имен не нужно, и теперь отказывается вводить его независимо от того, что я делаю.
Примечание 2: Я подтвердил, что Intellisense в конце концов обнаружит, что пространство имен не нужно.Я перешел к другой строке кода, демонстрирующей эту проблему, и после повторного ввода ее 5 раз Intellisense теперь ведет себя правильно каждый раз.Ничто иное не изменилось, кроме повторного набора линии несколько раз.