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