在C#项目中找到所有嵌套类的聪明方法是什么?

时间:2012-05-07 15:30:04

标签: c# visual-studio-2010 search project nested-class

做一些项目清理,而不仅仅依靠我的人眼来找到所有嵌套类,是否有人知道我可以使用计算机执行此操作的一种聪明方式?

3 个答案:

答案 0 :(得分:3)

如果您只想查看列表,那么对象浏览器应该为您提供内部类的良好概述。它们将是列出的唯一合格名称。

答案 1 :(得分:1)

当然,Type.GetNestedTypes应该可以正常运行。或者那不是你的问题吗?

答案 2 :(得分:0)

以下内容可能有用。

public static class TypeExplorer
{
    public static string GetTypeTree<T>()
    {
        var stringBuilder = new StringBuilder();

        GetTypeTree(typeof(T), stringBuilder, 0);

        return stringBuilder.ToString();
    }

    private static void GetTypeTree(Type type, StringBuilder stringBuilder, int nestingLevel)
    {
        stringBuilder.AppendLine(new string(' ', nestingLevel) + type.Name);

        nestingLevel++;

        foreach (var nestedType in type.GetNestedTypes(BindingFlags.Public | BindingFlags.NonPublic))
        {
            GetTypeTree(nestedType, stringBuilder, nestingLevel);
        }
    }
}