1

做一些项目清理工作,而不是仅仅依靠我的肉眼来查找所有嵌套类,有谁知道我可以使用计算机来做到这一点的聪明方法吗?

4

3 回答 3

3

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

于 2012-05-07T15:41:19.033 回答
1

当然,Type.GetNestedTypes应该可以很好地以编程方式执行此操作。或者这不是你的问题?

于 2012-05-07T15:38:18.067 回答
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);
        }
    }
}
于 2016-03-24T09:22:41.927 回答