70-536考试.NET Framework2.0复习重点:自定义事件处理与反射

需积分: 9 1 下载量 74 浏览量 更新于2024-11-29 收藏 850KB PDF 举报
"(MCP 70-536)NET Framework2.0.pdf" 本文档是针对微软认证专业(MCP)70-536考试的复习资料,重点介绍了.NET Framework 2.0的相关知识,包括事件处理、反射以及资源管理等核心概念。 在.NET Framework 2.0中,事件处理是一个重要的编程模型。第1题涉及到如何创建一个自定义事件参数类。正确选项B展示了如何正确地扩展系统提供的`EventArgs`基类,创建一个新的`PrintingArgs`类,用于传递事件处理程序所需的参数(如打印份数)。`EventArgs`是.NET框架中用于事件处理的基本参数类,通过继承它,我们可以添加自己的数据字段和方法。 反射是.NET Framework中的一个重要特性,允许程序在运行时动态地获取类型信息和执行类型的方法。第2题中,要确定一个方法`MyMethod`是否在派生类中可访问,需要使用`MethodInfo`对象的`IsFamily`属性。这个属性表示方法是家庭成员(即仅对类和其子类可见),符合派生类访问的要求。其他选项,如`IsAssembly`表示仅对程序集内的代码可见,`IsVirtual`表示方法是否可以被重写,`IsStatic`表示方法是否为静态方法,均不符合题意。 资源管理在.NET Framework中主要通过垃圾收集和终结器来实现,但对于非托管资源(如文件句柄或数据库连接),需要开发者手动管理。第3题中,当创建一个使用非托管资源的类时,为了确保资源在不再需要时被正确释放,开发者应采取以下三个步骤: 1. **实现IDisposable接口**:通过实现`IDisposable`接口,提供一个`Dispose`方法,让用户在完成对类实例的使用后调用,释放非托管资源。 2. **使用Finalize方法**:定义一个析构函数(在C#中称为`Finalize`方法),这是.NET框架的终结器,用于清理非托管资源。在垃圾收集器回收对象时会调用析构函数。需要注意的是,析构函数不应依赖于特定的调用顺序,因为它的执行时间是不确定的。 3. **使用using语句或Dispose模式**:鼓励用户使用`using`语句来创建类的实例,`using`语句会在块结束时自动调用`Dispose`方法,释放资源。此外,也可以采用“Dispose模式”,即在类中封装一个`Disposable`对象,确保在适当时候调用其`Dispose`方法。 通过这些知识点的学习,开发者能够更好地理解和运用.NET Framework 2.0中的事件处理、反射机制以及资源管理策略,从而编写出更高效、健壮的代码。