我正在使用VisualStudio 2008和2010,都使用ReSharper,当我尝试查找给定方法的用法时,我得不到任何结果,尽管该方法是继承的,然后通过接口调用。怎么了?这是VS / ReSharper的错误吗? 请参阅以下示例:
using System;
namespace UsageNotFound
{
interface MyInterface
{
void Hello();
}
class SuperClass
{
public void Hello() //NOTE: VS 2008/2010 (with resharper)
seems unable to find usages on this!!!
{
Console.WriteLine("Hi!");
}
}
class SubClass : SuperClass, MyInterface
{
public static MyInterface GetInstance()
{
return new SubClass();
}
}
class Program
{
static void Main(string[] args)
{
SubClass.GetInstance().Hello();
}
}
}
谢谢, 的Fabrizio
答案 0 :(得分:1)
可能是因为您的SuperClass
未实现该界面。这可能会导致ReSharper出现问题。尝试:
class SuperClass : MyInterface
{
public void Hello()
{
Console.WriteLine("Hi!");
}
}
答案 1 :(得分:1)
这是一个已知问题:http://youtrack.jetbrains.net/issue/RSRP-46273没有当前目标修正版
答案 2 :(得分:0)
这与SubClass
从[{1}}和Hello()
继承SuperClass
方法的顺序有关。
我很惊讶您没有收到MyInterface
(来自实施界面定义)隐藏SubClass.Hello()
的警告。