# InstanceCheck
在單例類的New方法中調用,目的是保證類的對象唯一。(單例模式)
通常的調用方法如下:
```autohotkey
__New(){
InstanceCheck(this.base)
return this
}
```
### 拋出異常 Throws:
- %異常說明%
### 示例 Example
```autohotkey
Double.base := new Double_Base()
;~ Double.base := new Double_Base()
class Double{
}
class Double_Base{
;~ static InstanceExist := false ;這個可寫可不寫
;------------------------------
__New(){
InstanceCheck(this.base)
return this
}
} ;---------class Double_Base End
```
```autohotkey
;實例化次數>1會導致
-Stack Trace ~ ~~ Mes:Instance Singleton Class 實例化單例類.
D:\AHKs\ahk_lib\Function.ahk(480) : ==> offset:-1 caller:StackTrace
D:\AHKs\ahk_lib\Function.ahk(490) : ==> offset:-2 caller:throwWithSt
D:\AHKs\ahk_lib\Function.ahk(504) : ==> offset:-3 caller:throw
D:\AHKs\Dev\TPDD_單例類測試.ahk(50) : ==> offset:-4 caller:InstanceCheck
D:\AHKs\Dev\TPDD_單例類測試.ahk(34) : ==> offset:-5 caller:Double_Base.__New
```
- 指南 (README)
- 常見問題 (FAQ)
- 更新歷史(CHANGELOG)
- 貢獻指南 (CONTRIBUTING)
- 開源協議 (LICENCE)
- 鳴謝 (ACKNOWLEDGEMENT)
- 文檔模板 (TEMPLATE)
- 新手指南(BEGINNER_GUIDE)
- 語法高亮(HIGHLIGHTING)
- Class
- _Container
- _EX
- _List
- _Map
- _Win
- _Wins
- BeanEnum
- HotString
- HotStringMaps
- InvisibleCharacter
- JSON
- JsonFile
- Method
- ObservableMap
- ObservableObj
- WinEvent
- Timer
- MesToast
- APPLocker
- AutoClassify
- Everything
- Function
- Ini
- AutoInputBox
- ParaChecker
- PathObj
- RunningSpeedTest
- Script
- Switcher
- Stack
- TimeChecker
- Type
- UMSS
- Function
- assert()
- Analyze()
- AnalyzeClassName()
- AutoBind()
- bulkMoveFile()
- ExcelToList()
- getClass()
- getCurrentTime()
- getFunc()
- Instanof()
- InstanceCheck()
- loadMethod()
- LogPrintln()
- rawCall()
- RandomStr()
- showObj()
- Type()
- throwWithSt()
- UseCMD()
- ObjDump()
- Test
- ObjLoad()
- StringMethod
- TypeClass
- MapFactory()