我有一个场景,其中Visual Studio(2012)的Intellisense无法识别在继承类中定义的子类。最好通过一个简单的示例来演示:
public class Shape {
public class SubShape {
}
}
public class Circle : Shape {
}
我有一个形状类(Shape),其中有一个子形状子类(SubShape),以及一个从形状类继承的圆形类(Circle)。
如果我尝试使用
new Circle.SubShape()
实例化一个子形状实例,Visual Studio的智能感知不会显示任何结果,但是一切都可以正确构建且没有语法错误。如果我使用
new Shape.SubShape()
引用基类中的类,则智能感知可以正常工作。如果首先省略new
关键字,那么在输入Circle.
时,SubShape
将作为选项出现。我使用的是Visual Studio 2012版本
11.0.61030.00 Update 4
。更新:我已禁用ReSharper,但如果我启用它并选择使用ReSharper的智能感知而不是Visual Studio的,则一切如预期般工作。