獲取類的所有子類

2021-08-27 10:10:33 字數 557 閱讀 1065

開發過程中,有時需要獲取某個包下的所有類,或者基於指定規則獲取類清單。

比較常見的解決方案是自己遍歷目錄,查詢所有.class檔案。

下面這個方法使用spring工具類實現,簡化過程,不再需要自己遍歷目錄

/*** 獲取在指定包下某個class的所有非抽象子類

** @param parentclass

* 父類

* @param packagepath

* 指定包,格式如"com/iteye/strongzhu"

* @return 該父類對應的所有子類列表

*/@sneakythrows(classnotfoundexception.class)

public static list> getsubclasses(final classparentclass,

final string packagepath)

subclasses.add(cls);

}return subclasses;

}

Swift 獲取類的所有子類和屬性列表

import foundation 如果需要用對應的型別,字典定義dictionary,對應value為int8.self int16.self,下面用到的方法都需要更改為dictionarylet valuetypesmap dictionary c int8 s int16 i int32 q ...

從基類中獲取所有子類名

有的時候,我們需要獲取某個基類中的所有子類,從而進行統一管理。這裡有乙個簡單易行的實現 class program static bool issubclassof type type,type basetype b b.basetype return false public class base...

IOS 獲取父類的所有子類 全域性替換類方法

1 獲取父類的所有子類 void getsubclass free classes 2 在新增頁面統計等時,直接在父類實現新增方法,但是要讀到子類的類名 比如在父類中新增友盟頁面統計 3 如果要實現新增統計跟蹤等,除了在基類實現,還可以通過method swizzling來實現 首先建個uiview...