我有一個場景,Visual Studio(2012)智能感知無法識別在繼承類中定義的子類。它可能是最好的一個簡單的例子證明:如何讓Visual Studio Intellisense發現一個繼承的子類?
public class Shape {
public class SubShape {
}
}
public class Circle : Shape {
}
所以我有一個子形子類的Shape類和Circle從外形繼承。
如果我然後嘗試使用new Circle.SubShape()
實例化SubShape的實例,我會在new Circle.
之後從Visual Studio的Intellisense中得到任何結果。沒有語法錯誤,所有東西都可以正確構建
如果我從基類new Shape.SubShape()
中引用該類,則Intellisense起作用。如果我最初關閉了new
關鍵字,那麼它也可以工作 - 所以輸入Circle.
作爲選項會給我提供SubShape
。
我正在使用Visual Studio 2012版本11.0.61030.00 Update 4
。
更新:我禁用了ReSharper,但是如果打開它並選擇使用ReSharper的Intellisense而不是Visual Studio的,則一切都按預期工作。
您是否嘗試過2013?我有2013(專業)和Resharper,它的工作原理就像你在這裏描述的那樣。不知道是否是Reharper或VS2013雖然 –
謝謝!你可以嘗試禁用ReSharper,看看它是否仍然有效?我想你可以在2012年通過工具 - >選項 - > ReSharper對話框輕鬆完成。如果我打開ReSharper並選擇使用VS的ReSharper的Intellisense intead,它也適用於我...所以在2012年,它似乎是ReSharper修復的Visual Studio錯誤。 –
只是禁用它,它看起來像一個ReSharper功能:(我會用VS2013旗艦版測試,當我回家時,看看它是否存在 –