C#調(diào)用ImOK學(xué)習(xí)筆記
C#程序有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#調(diào)用ImOK,包括介紹驗(yàn)證完整性、C#的條件編譯特征等方面。
驗(yàn)證完整性
一個(gè)C#程序中的大多數(shù)函數(shù)都是一個(gè)對象上的實(shí)例方法。對任何對象的有效狀態(tài)都有暗示的假設(shè)。當(dāng)一個(gè)公有的方法被調(diào)用時(shí),你應(yīng)該確保那些暗示的假設(shè)經(jīng)過了測試。C#的條件編譯特征使這一點(diǎn)很容易實(shí)現(xiàn)。
首先,寫一個(gè)私用的函數(shù)來測試對象的完整性。你在這么做時(shí),將該方法標(biāo)為“conditional”:
- [Conditional ("DEBUG")]
 - private void ImOK ()
 - {
 - Debug.Assert (this != null,
 - "Testing Object State",
 - "this cannot be null");
 - // More here.
 - }
 
然后,在每個(gè)公有的方法中,C#調(diào)用ImOK方法:
- public bool ProcessIterations (int
 - numIters)
 - {
 - ImOK ();
 - Debug.Assert (numIters > 0,
 - "ProcessIterations.",
 - "Iterations must be more than 0");
 
在發(fā)布(Release)版本中,編譯器自動(dòng)取消C#調(diào)用ImOK。
為什么用這種方法?運(yùn)用該技巧,你可以快速發(fā)現(xiàn)任何你的對象狀態(tài)變得無效的情況。
【編輯推薦】















 
 
 
 
 
 
 