在Visual Studio中,有或没有扩展名,有没有一种方法可以根据自己的使用顺序(它们在调用堆栈中的位置)自动对类中的私有方法进行排序?在Visual Studio中,有没有一种方法可以按使用情况对私有方法进行排序?
例如,考虑下面的类:
public class MyClass
{
public void MyMethod()
{
TestC();
}
private void TestA()
{
TestB();
}
private void TestB()
{
Console.WriteLine("Hello");
}
private void TestC()
{
TestA();
}
}
这个类中的公共方法是MyMethod
,它调用TestC
这就要求TestA
这就要求TestB
。我想(自动)本订购订购这些方法,使类看起来是这样的:
public class MyClass
{
public void MyMethod()
{
TestC();
}
private void TestC()
{
TestA();
}
private void TestA()
{
TestB();
}
private void TestB()
{
Console.WriteLine("Hello");
}
}
我需要能够选择一类,要求这样的方法排序,并有方法自动排序。也就是说,我不想手动排序这些方法。
我知道有一些细微差别。例如,可能存在一个私有方法,该方法从调用堆栈中两个不同级别的两个方法中调用。我想在这种情况下,考虑公共方法的最小(调用堆栈)距离是有意义的。
UPDATE:
排序以这种方式方法的这种想法来自于清洁守则书由罗伯特C.马丁。在第3章中,定义了降级规则,它讨论了在低级别函数之前出现更高级别的函数。
做对谷歌降压规则快速搜索,我发现了一个NetBeans插件在:http://plugins.netbeans.org/plugin/58863/stepdownruleplugin
我猜想,它类似于我需要的东西,但对于在NetBeans。
ReSharper的声称能以按不同的方式方法。 –
@RawN,我试图找到一种方法来通过Resharper来做到这一点,但我找不到任何。 –
我怀疑你会发现这个开箱即用。你当然可以使用roslyn(https://github.com/dotnet/roslyn)来编码,它可以解析代码,确定调用层次结构等。 –