C#程序有很多值得学习的地方,这里我们主要介绍C#调用ImOK,包括介绍验证完整性、C#的条件编译特征等方面。
验证完整性
一个C#程序中的大多数函数都是一个对象上的实例方法。对任何对象的有效状态都有暗示的假设。当一个公有的方法被调用时,你应该确保那些暗示的假设经过了测试。C#的条件编译特征使这一点很容易实现。
首先,写一个私用的函数来测试对象的完整性。你在这么做时,将该方法标为“conditional”:
- [Conditional ("DEBUG")]
- private void ImOK ()
- {
- Debug.Assert (this != null,
- "Testing Object State",
- "this cannot be null");
- // More here.
- }
然后,在每个公有的方法中,C#调用ImOK方法:
- public bool ProcessIterations (int
- numIters)
- {
- ImOK ();
- Debug.Assert (numIters > 0,
- "ProcessIterations.",
- "Iterations must be more than 0");
在发布(Release)版本中,编译器自动取消C#调用ImOK。
为什么用这种方法?运用该技巧,你可以快速发现任何你的对象状态变得无效的情况。
【编辑推荐】