VB 2005的重构支持之创建方法重载
2009-03-09 11:12
260 查看
上次我们介绍了VB2005的免费重构插件——Refactor! for VB2005和其中两项视觉效果很酷的重构功能。这次我们继续介绍Refactor!的功能。
创建方法重载(Create Overload)
Visual Basic支持可选参数,这给我们开发Office程序时带来巨大的方便,然而却不推荐在自己的代码中使用可选参数。因为可选参数只有Visual Basic支持,C#和多数语言都无法享受可选参数,而必须对所有参数照单全输。这时我们可以使用方法重载来创建接受不同数量参数的方法。使用Refactor!的创建方法重载功能,可以自动创建减少参数个数的新重载,并确保功能正确。比如有一个方法“MyMethod”带有三个参数,选中“MyMethod”,就会弹出智能标记,这时从智能标记的菜单中选择“Create Overload”,先按上下键确定重载方法的位置,然后用Tab键在参数间移动,按空格键去除不要的参数,然后按回车创建一个新的重载。封装字段(Encapsulate Field)
在面向对象封装性的原则下,我们通常不将类的字段暴露给调用者,而是使用.NET的属性来封装对字段的访问。使用属性而不是字段的好处有很多,比如我们可以在属性中增加额外的验证代码,使字段不被非法修改。属性还可以是可重写的(即虚拟的),这样就有利于进行下一步的设计。如果我们已经讲字段暴露给类的外部,那么就可以用封装字段这一重构手段将所有调用方转移到属性的上去。操作方法是:选中一个字段,然后从智能标记中选中“Encapsulate Field”,按上下建确定新属性的位置,然后按下回车。旧字段将被自动重名名,使原有的引用转移到新建的属性上去。以卫语句取代嵌套条件式(Replace Nested Conditional with Guard Clause)
常常见到这样的代码:很多If一层套一层,使得代码的流程难以看清楚。有时候外层的If条件很少失败,我们就可以将其这条分支独立成为一个If…End If语句,当条件为真立即退出方法,这就是“卫语句”。使用“以卫语句取代嵌套条件式”可以将含有If嵌套的判断语句转变为排列整齐的卫语句。只要在If关键字上使用智能标记即可。相关文章推荐
- C#学习笔记。。创建重载方法,求两个数的乘积,参数类型分别为int,float,double
- 封装支持FireFox与IE创建XMLHttpRequest方法
- 《GOF设计模式》—单件(Singleton)—Delphi源码示例:创建Singleton类的子类(重载Instance方法)
- 用AE创建气泡式提示框的方法-VB.Net源码(转载)
- PHP使用方法重载实现动态创建属性的get和set方法
- vb2005 创建和使用线程的简单例子
- (学习笔记)SQL Server 2005所支持的XQuery 方法
- iPhone开发重构:提供辅助创建方法以简化实例创建【转】
- Java基本功练习五(一维数组相关操作[声明、创建、乱序、排序、查找]和方法的重载举例[浅议])
- vb创建excel报48错误解决方法
- 在VB.NET中 用代码 利用SQL语句创建数据库、表、存储过程、视图、索引、规则、修改表、查看数据等的方法
- C#第2次试验(1).创建一个抽象类A,该类中包含一个求两个数之和抽象方法。创建一个子类B,在B中重写求和方法,且使用方法重载使得方法可以分别计算整数、双精度、字符串。
- Java方法的创建和重载
- SQL 2005 创建表报错:类别不支持集合(或类别对象为远程对象)
- SQL Server 2005 创建数据库失败提示“Collation is not valid”解决方法
- 在TestPartner中创建Class Module扩展测试对象支持的方法和例子
- SQL Server 2005 中,创建新维护计划时出现错误信息:失败" 创建维护计划"14234 解决方法
- 2.创建一个抽象类A,该类中包含一个求两个数之和抽象方法。创建一个子类B,在B中重写求和方法,且使用方法重载使得方法可以分别计算整数、双精度、字符串
- IE下使用excanvas.js之后动态创建的canvas不支持getContext的解决方法(转)
- 由dwr不支持重载的方法探究dwr的运行机制