VB.NET重构相关内容简述

开发 后端
VB.NET重构的作用是很强大的。在这里我们可以通过这篇文章介绍的一些相关内容对此有一个详细的认识,以方便我们将来的应用。

VB.NET编程语言中的功能强大,有很多都值得我们去深入研究。能熟练的应用这一编程语言,可以帮助我们大大提高百年城效率。在这里先来了解一下VB.NET重构中的一些基本内容,希望可以给大家带来一些帮助。#t#

大家已经很熟悉C#2005将加入内置的重构支持,方便用户快速对代码实施常用的重构。重构是十分重要的维护代码的手段,不仅C#的用户需要,VB的用户更加需要。因为从VB6升级来的代码,经过升级向导的“蹂躏”后已经面目全非,而且许多旧的代码风格与新的.net特性格格不入。因此,重构成了升级旧代码,改善旧代码的重要手段。可惜的是,除了重命名之外,VB2005并没有加入重构特性,这让VB的程序员十分扫兴。

Refactor!支持VisualStudio2005独特的智能标记,即将VB.NET重构功能置于上下文的智能标记中,而不是在一个“重构”菜单选项中提供选择。这样用户更容易知道在当前的代码上可进行什么样的操作,而不是从一堆不知所措的重构名字中选取。这类智能标记通常要等用户将输入光标置于可重构的对象上才会出现,如子程序或函数名称、变量名称等等。 

重新排列参数是Refactor!多项重构功能之一,它可以将函数或子程序的参数重新排列。更神奇的是,他可以将按引用传递的参数转化为函数的返回值,或进行相反的操作。比如有这样一个子程序:

  1. Public Sub Sub1(ByVal a As Integer, ByVal b As String)  
  2. '调用方  
  3. Call Sub1(10, "str") 

 

通过“重新排列参数”可以将上述程序重构成: 软件开发网

 

  1. Public Sub Sub1(ByVal b As String, ByVal a As Integer)  
  2. '调用方  
  3. Call Sub1("str", 10) 

 

再比如有这样的子程序:

 

 

  1. Public Sub Sub2(ByRef x As Integer)  
  2. '调用方  
  3. Dim i As Integer  
  4. Call Sub2(i) 

 

同过“重新排列参数”可以将按引用传递的参数移出而变成返回值:

 

  1. Public Function Sub2()As Integer  
  2. '调用方  
  3. Dim i As Integer  
  4. i = Sub2() 

 

还可以进行相反的VB.NET重构,将函数的返回值变成按引用传递的参数。有许多VB程序员习惯用参数传出所需要的参数。现在你可以用这个重构功能项,将合适的子程序转变成函数,或进行相反的操作。#t#

进行这项操作的步骤是:

1、先保存和编译项目。

2、将光标放在函数的定义上,点击出现的智能标记,并选择“ReorderParameters”。

3、按Tab键,选择要移动的参数或返回值,然后按左右方向键移动这个参数,到合适的位置。

4、按Enter键确定修改,接下来根据提示将函数所有的调用处更改为新的签名。

5、根据需要,进行RenameLocal重构,将此重构引入的变量名更改为适当的名字。

下面的程序演示了“重新排列参数”重构进行的过程,交换参数的视觉效果确实很酷!

重命名本地变量是另一项非常有用的功能。实际上VB2005已经内含安全的重命名功能,但重命名本地变量功能可以将重命名的范围限定在当前的函数或子程序中,同时明显的视觉效果可以让你对被重命名的变量一目了然。操作步骤是:

1、选择要重命名的符号,单击智能标记并选择“RenameLocal”。

2、在绿色的可替换区域内输入新的名称,按Tab键可在所有出现该名称的区域间跳转,可借此观察此项VB.NET重构的影响范围。

3、确定后,按下Enter键。很简单。

责任编辑:曹凯 来源: mscto.com
相关推荐

2010-01-07 14:26:37

VB.NET变量

2010-01-07 11:38:25

VB.NET键盘事件

2010-01-13 16:15:47

VB.NET消息队列

2010-01-27 16:56:42

Android内核

2010-01-28 16:19:39

Android She

2009-11-04 08:53:57

VB.NET AddH

2010-06-17 16:12:43

WAP协议

2010-02-01 09:18:49

C++函数指针

2010-01-12 10:48:54

VB.NET LIST

2010-07-20 13:07:13

SQL Server存

2010-02-25 17:57:26

WCF服务合同

2010-01-28 16:30:16

Android数据传递

2010-02-26 13:21:42

WCF通道形状

2010-02-26 09:50:57

WCF传输安全机制

2010-06-08 17:30:56

IPv6协议栈

2009-08-28 15:16:18

C#泛型集合

2010-01-13 10:53:24

VB.NET控件

2010-04-02 16:53:34

Oracle内存结构

2009-10-20 17:38:20

VB.NET exce

2010-02-03 15:40:11

C++地址运算符
点赞
收藏

51CTO技术栈公众号