重构类和类型(类设计器)
所谓重构代码,即是在不更改代码的外在行为的情况下更改其内部结构(尤其是其对象的设计),以使其更加易于理解和维护,更有效率。 当使用类设计器和 " 类详细信息 " 窗口来重构代码,则会降低操作时需要的和引入了代码缺陷的概率该工作。
备注
项目的文件可能是只读的,原因可能是项目受源代码管理且未签出,项目是被引用项目,或者其文件在磁盘上被标记为只读。在处于以上任一状态的项目中进行工作时,根据项目状态的不同,您拥有多种保存工作的方式。这适用于重构代码和代码更改以其他方式,例如直接编辑它。有关更多信息,请参见 Display of Read-Only Information。
常规任务
任务 |
支持内容 |
---|---|
重构类:可以使用重构操作拆分类为分部类或实现抽象基类。 |
|
使用接口:在类设计器中,您可以通过连接它实现在类关系图上将接口为接口方法提供代码的类。 如果使用 Visual C#,您可以将类型还提取一个或多个公共成员添加到新接口。 |
|
重构类型、类型、成员和参数:使用类设计器,您可以轻松地进行诸如对类型或类型成员重命名。 您可以重写类型成员或从一种类型移动到另一个。 您可以轻松地创建可以为 null 的类型。 此外,如果您使用的是, Visual C#,可以重新排序方法参数。 |
实现抽象基类
您可以使用类设计器实现抽象类。
此过程假定以下事实:
您的项目包含抽象类。
抽象类包含抽象成员。
抽象类是与另一个类有关的继承关系中的基类。 (派生类不必是抽象类。)
实现抽象类
- 右击该派生类,单击 IntelliSense 然后单击 实现抽象类。 基类中的所有抽象成员都在派生类中实现。
有关其他信息,请参见 如何:定义类型之间的继承(类设计器) 和 如何:使用类设计器创建类型。
提取接口的成员
您可以将类型的一个或多个公共成员提取到新接口中。
将成员提取到新接口
在 类设计器,右击包含成员或成员要提取的类型,指向 重构,然后单击 提取接口。
“提取接口”对话框中显示出接口名称的默认值,以及声明接口的代码文件的名称的默认值。 接受或者更改默认值。
在 选择公共成员窗体接口 窗格中,选择或清除复选框在要提取到新接口的成员旁边,然后单击 " 确定 "。
随即创建新接口,而含有新接口的文件被添加到项目中。
重写类型成员
在类设计器中,您可以允许成员 (如方法,并在子任务的特性类重写从基类继承的成员。 仅在满足以下情况时才可能重写成员:
- 被重写的基方法必须是虚方法、抽象方法或重写方法。 (不能是非虚方法或静态方法。)
重写一个成员
在类关系图上,右击类形状,然后单击 IntelliSense 然后 重写成员。
即会出现显示可重写成员的对话框。
从列表中,指定成员。
具有相同名称的成员,访问修饰符,并返回值,出现在类,因此,它的继承修饰符属性在 Visual Basic 或重写设置将重写 C#。
的类型和类型成员重命名
在类设计器中,您可以在类关系图上或“属性”窗口中重命名类型或类型成员。 在“类详细信息”窗口中,您可以更改成员的名称,但不能更改类型的名称。 对类型或类型成员的重命名将传播到所有出现旧名称的窗口和代码位置。
在类设计器中重命名名称
在类关系图上,选择类型或成员。
成员的名称变得可编辑。
键入类型或类型成员的新名称
在“类详细信息”窗口中重命名名称
要显示 " 类详细信息 " 窗口中,右击该类型或类型成员然后单击 类详细信息。
“类详细信息”窗口随即出现。
在**“名称”**列中,更改类型成员的名称
要将焦点从单元格中移开,请按 Enter 键或将鼠标移到单元格外单击。
备注
在“类详细信息”窗口中,您可以更改成员的名称,但不能更改类型的名称。
在“属性”窗口中重命名名称
在类关系图上或 " 类详细信息 " 窗口中,右击该类型或成员然后单击 属性。
“属性”窗口随即出现,其中显示了类型或类型成员的属性。
在**“名称”**属性中,更改类型或类型成员的名称。
新名称将传播到当前项目中所有出现旧名称的窗口和代码位置。
重新排序参数
在类设计器中,您可以更改类型中方法参数的顺序。
备注
可选参数必须是参数列表中位于最后面的参数。使用类设计器中,有关如何创建可选参数的信息,请参见 Adding Parameters to Methods。
更改参数的顺序
在类图上展开类型形状,再展开**“方法”**隔离舱。
在 方法 隔离舱中,右击要重新排列的参数的方法,指向 重构,然后单击 重新排序参数。
即会出现**“重新排列参数”**对话框。
在 重新排序参数 对话框,请将参数所需的菜单,然后单击 好。
参数在代码中以及类图上的形状中的顺序将发生更改。
从一种类型的移动类型成员到另一个
使用类设计器,可以将类型成员从一个类型移到另一个类型中(如果两个类型在当前的类关系图中都是可见的)。
将类型成员从一个类型移到另一个类型中
在可见的类型在设计图面上,右击要移到另一个类型的成员,然后单击 剪辑。
右击目标类型然后单击 粘贴。
属性从源类型中移除并出现在目标类型中。
相关主题
标题 |
说明 |
---|---|