開發過程中,有時需要獲取某個包下的所有類,或者基於指定規則獲取類清單。
比較常見的解決方案是自己遍歷目錄,查詢所有.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...