来源:沈军
浏览 1302
扫码
分享
2019-04-10 08:03:35
本章要点
主题 | 要点 |
---|
名称空间限定符 | 为了避免名称空间限定的模糊性,可以使用:: 运算符强制编译器使用已创建好的别名。还可以使用global名称空间作为顶级名称空间的别名 |
定制异常 | 从根类Exception中派生,就可以创建自己的异常类。这是有益的,因为可以更多地控制特定异常的捕获,并允许定制包含在异常中的数据,以高效地处理它 |
事件处理 | 许多类都提供了事件,在代码中发生某个触发器时,就会引发这些事件。可为这些事件编写处理程序,在引发事件时执行代码。这种双向通信方式是响应代码的一种良好机制,不必编写可能要轮询对象以获知变化的复杂、令人感到费解的代码 |
事件定义 | 可以定义自己的事件类型,这涉及给事件的处理程序创建指定的事件和委托类型。可以使用标准的、无返回类型的委托类型和派生于System.EventArgs 的定制事件参数,使事件处理程序有多种用途。还可以使用EventHandler 和EventHandler<T> 委托类型,以便通过更简单的代码定义事件 |
匿名方法 | 为使代码更便于阅读,常可以使用匿名方法来替代完整的事件处理方法。这表示,在添加事件处理程序的地方直接定义要在引发事件时执行的代码,为此需要使用delegate关键字 |
特性 | 有时,或者是由于所用框架的要求,或者是由自己的需要,在代码中会用到特性。通过使用[AttributeName] 语法,可以向类、方法和其他成员添加特性;通过System.Attribute 派生,可以创建自己的特性。通过反射可读取特性值 |
当前内容版权归
沈军 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问
沈军 .