8
德爾福在線文檔說爲什麼我應該避免在應用程序代碼中使用ClassType?
「避免使用在應用程序代碼ClassType」。
但是有很多地方需要類的類型。例如,當程序使用類System.Contnrs時。 TClassList,我需要一個對象的ClassType在IndexOf()的參數中傳遞它。
ClassType文檔中此建議背後的原因是什麼?
德爾福在線文檔說爲什麼我應該避免在應用程序代碼中使用ClassType?
「避免使用在應用程序代碼ClassType」。
但是有很多地方需要類的類型。例如,當程序使用類System.Contnrs時。 TClassList,我需要一個對象的ClassType在IndexOf()的參數中傳遞它。
ClassType文檔中此建議背後的原因是什麼?
爲什麼這個建議給予最明顯的原因是希望像這樣寫代碼的程序員:
if obj.ClassType = TStringList then
....
如果對象的類是TStringList
那情況只會評價如此。但是,您通常希望條件代碼運行於TStringList
和任何後代。在這種情況下,你寫的:
if obj is TStringList then
....
如果你需要知道的一個實例是什麼課,然後ClassType
是你應該用什麼。如果您正在維護TClassList
實例中的類列表,請隨時使用ClassType
來獲取實例的元類。