C#調(diào)用ImOK學(xué)習(xí)筆記
C#程序有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#調(diào)用ImOK,包括介紹驗(yàn)證完整性、C#的條件編譯特征等方面。
驗(yàn)證完整性
一個(gè)C#程序中的大多數(shù)函數(shù)都是一個(gè)對(duì)象上的實(shí)例方法。對(duì)任何對(duì)象的有效狀態(tài)都有暗示的假設(shè)。當(dāng)一個(gè)公有的方法被調(diào)用時(shí),你應(yīng)該確保那些暗示的假設(shè)經(jīng)過(guò)了測(cè)試。C#的條件編譯特征使這一點(diǎn)很容易實(shí)現(xiàn)。
首先,寫(xiě)一個(gè)私用的函數(shù)來(lái)測(cè)試對(duì)象的完整性。你在這么做時(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)任何你的對(duì)象狀態(tài)變得無(wú)效的情況。
【編輯推薦】