2012-05-07 3 views

답변

3

목록을보고 싶다면 Object Browser가 내부 클래스에 대한 개요를 제공해야합니다. 그들은 나열된 유일한 자격있는 이름입니다.

+0

이것은 충분할 것이고 아무런 설정도 필요 없습니다. 고마워요. – BigOmega

1

확실히 Type.GetNestedTypes은 프로그래밍 방식으로 올바르게 작동합니다. 아니면 당신의 질문이 아닌가?

+0

실제로 프로젝트의 모든 클래스를 순환하고이 GetNestedTypes 호출에서 각각에 대해 무언가를 출력하는 빠른 방법을 쓸 수 있으면 실제로 작동 할 수 있습니다. – BigOmega

+0

+1 그 생각은 똑같은 것입니다. 'GetNestedTypes'는 필요한 것일뿐입니다 Ryan – Icemanind

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); 
     } 
    } 
}