2013-03-05 7 views
1

SQL Server의 테이블에 대해 CodeDOm을 사용하여 엔티티 클래스를 만들려고합니다. 클래스에 추가 할 네임 스페이스 목록을 제공하기 위해 한 열의 DataGridview가 있습니다. GridView Intellisense의 각 셀에 타이핑 네임 스페이스를 쉽게 부여 할 수있는 방법이 있습니까?DataGridView 셀 Intellisense를 제공하는 방법?

편집 : @yeonho 덕분에 자동 완성 메서드를 gridview에 가져 오는 방법을 발견했습니다. 나는 System.dll을의 네임 스페이스를 얻기 위해이 코드를 사용 :

 Assembly assembly = Assembly.Load("System.dll"); 
     Type[] types = assembly.GetTypes(); 

을하지만, 내가 debug 폴더에 복사하거나에 전체 완전한 경로를 제공하지 않고 System.dll을 참조 할 수있는 방법이 있습니까?

+1

검색 등의 키워드 : "gridview에 자동 완성" – Yeonho

답변

1

내가이 좋아했다 ..

public List<Type> GetTypesFromAssembly() 
     { 
      List<Type> listOfAllTypes = new List<Type>(); 
      Assembly[] allAssembliesInCurrentDomain = AppDomain.CurrentDomain.GetAssemblies(); 

      foreach (Assembly assembly in allAssembliesInCurrentDomain) 
      { 
       listOfAllTypes.AddRange(assembly.GetTypes()); 
      } 

      return listOfAllTypes;   
     } 

public List<string> GetSystemNamespaces() 
     { 
      List<string> namespaces = new List<string>();    

      List<Type> types = GetTypesFromAssembly(); 

      foreach (Type type in types) 
      { 
       if (type.Namespace != null) 
       { 
        namespaces.Add(type.Namespace.ToString()); 
        namespaces = namespaces.Distinct().ToList(); 
       } 
      } 
      return namespaces; 
     }