0
我知道使用反射,我可以在單個程序集中找到類的列表(例如How to get all classes in current project using reflection?)。查找文件目錄中的公共類
有沒有一種方法可以在給定的目錄中使用公共類來實現這一點?
我知道使用反射,我可以在單個程序集中找到類的列表(例如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
方法使用BindingFlags.Public
和BindingFlags.Instance
通過default.So你不需要指定另外還有BindingFlags
參數。
完美 - 謝謝 – Nodoid
什麼是「*目錄*」?你指的是系統上的實際文件夾?例如, –
,我的項目有一個名爲「fun_classes」的目錄,其中包含一堆用於創建表的SQL類。我期望檢查該目錄並提取類名 - 但同樣可以應用於任何目錄。 – Nodoid
我刪除了我的答案,因爲你包含的鏈接確實包含了一個公共類的答案 – Sayse