리플렉션을 사용하면 단일 어셈블리 (예 : How to get all classes in current project using reflection?) 내에서 클래스 목록을 찾을 수 있다는 것을 알고 있습니다.파일 디렉토리의 공용 클래스 찾기
주어진 디렉토리 내의 공용 클래스에서만이 작업을 수행 할 수 있습니까?
이var types = new List<Type>();
var paths = Directory.GetFiles("directoryPath", "*.dll", SearchOption.TopDirectoryOnly);
foreach(var path in paths)
{
types.AddRange(Assembly.LoadFrom(path).GetTypes());
}
GetTypes
방법을 지정할 필요가 없습니다 default.So에 의해 BindingFlags.Public
및 BindingFlags.Instance
을 사용
"* 디렉토리 *"란 무엇입니까? 시스템의 실제 폴더를 언급하고 있습니까? –
예를 들어, 내 프로젝트에는 "fun_classes"라는 디렉토리가 있습니다.이 디렉토리에는 테이블 생성을위한 SQL 클래스 더미가 있습니다. 나는 그 디렉토리를 조사하고 클래스 이름을 추출하려고 할 것입니다 - 비록 모든 디렉토리에 똑같이 적용될 수 있습니다. – Nodoid
포함 된 링크에 실제로 공개 수업을 찾는 답변이 포함되어 있으므로 내 대답을 삭제했습니다 – Sayse