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注入“某些东西”。在“ Abcd = new Something.TheVeryUniquelyNamedCollectionClass();”行中,然后立即告诉我这是不必要的,应将其删除。
这是在多个项目和解决方案中发生的,不得不与Intellisense对抗非常令人沮丧。
注意:在上面的示例中,Intellisense现在拒绝表现出带有'('键的这种行为。示例代码没有任何改变。它只是简单地“意识到”了名称空间,因此现在拒绝注入不管我做什么。
注意2:我已经确认Intellisense最终认为不需要名称空间。我转到了另一行代码来展示此问题,然后重新键入5次后,Intellisense现在每次都能正常运行。除了重新键入该行几次之外,没有其他改变。