C# 重构之二(重命名重构)

原创 2016年08月31日 11:27:05
“重命名”是 Visual Studio 集成开发环境 (IDE) 中的一项重构功能,为重命名代码符号(如字段、局部变量、方法、命名空间、属性和类型)的标识符提供了一种简单的方法。   “重命名”功能可用来更改注释和字符串中的名称,还可用于更改标识符的声明和调用。  
System_CAPS_note注意

在使用 Visual Studio 的“源代码管理”时,请在尝试执行重命名重构前,获取最新版本的源文件。

通过以下 Visual Studio 功能可以使用重命名重构功能:

功能

IDE 中的重构行为

代码编辑器

在“代码编辑器”中,将光标置于某些类型的代码符号上时,可以使用重命名重构功能。  当光标在此位置时,可以通过键入键盘快捷方式调用 *** 重命名 *** 命令(CTRL + R,CTRL + R "),或者通过选择 *** 重命名 *** 命令从智能标记、快捷菜单或 *** 重构 *** 菜单。  

类视图

在“类视图”中选择标识符时,可以从快捷菜单和“重构”菜单中使用重命名重构功能。

对象浏览器

在“对象浏览器”中选择标识符时,只能在“重构”菜单中使用重命名重构功能。

Windows 窗体设计器的“属性网格”

在 Windows 窗体设计器的“属性网格”中,更改控件名称将启动该控件的重命名操作。  不会显示“重命名”对话框。  

解决方案资源管理器

“解决方案资源管理器”中,快捷菜单中提供了“重命名”命令。  如果选定的源文件包含类名与文件名相同的类,则可以使用此命令同时重命名源文件并执行重命名重构。  

例如,如果创建默认的基于 Windows 的应用程序,然后将 Form1.cs 重命名为 TestForm.cs,则源文件名 Form1.cs 将更改为 TestForm.cs,并且 Form1 类以及对该类的所有引用都将重命名为 TestForm。

System_CAPS_note注意

“撤消”命令 (Ctrl+Z) 将仅撤消代码中的重命名重构操作,而不会将文件名改回原始名称。

如果选定的源文件不包含类名与文件名相同的类,则“解决方案资源管理器”中的“重命名”命令将仅重命名源文件,而不会执行重命名重构。

执行“重命名”时,重构引擎将执行特定于下表中描述的每种代码符号的重命名操作。

代码符号

重命名操作

字段

将字段的声明和用法更改为新名称。

局部变量

将变量的声明和用法更改为新名称。

方法

将方法的名称和对该方法的所有引用更改为新名称。

namespace

将声明、所有 using 语句和完全限定名中的命名空间的名称更改为新名称。

属性

将属性的声明和用法更改为新名称。

类型

将类型的所有声明和所有用法都更改为新名称,包括构造函数和析构函数。  对于部分类型,重命名操作将传播到其所有部分。  

重命名标识符

对方法重构
        class ProtoClassA
        {
            public void MethodB(int i, bool b) { }
        }

        class ProtoClassC
        {
            void D()
            {
                ProtoClassA MyClassA = new ProtoClassA();
                MyClassA.MethodB(0, false);
            }
        }

双击MethodB,按下快捷键CTRL+R+M看效果


版权声明:本文为博主原创文章,未经博主允许不得转载,如果转载请写明出处。

相关文章推荐

C# 重构之四(提取接口重构)

提取接口”是一项重构操作,提供了一种使用来自现有类、结构或接口的成员创建新接口的简单方法。 当几个客户端使用类、结构或接口中成员的同一子集时,或者当多个类、结构或接口具有通用的成员子集时,在接口...

C# Func的用法

C#中Fun和前面介绍过的Action有点类似,都是一个委托方法 不同的是Func是有返回值的,而Action没有 Fun常用有两个参数,前面的是输入参数,后面的是输出参数(意味着是在另一部分运算中...

C# Action委托方法

第一次看到Action感觉很迷茫,它是干什么的,原来是个委托方法,这样就好理解了 看源码的声明 // // 摘要: // 封装一个方法,该方法只有一个参数并且不返回值。...

C# 重构之三(封装字段重构)

“封装字段”重构操作能够从现有字段中快速创建属性,然后通过对新属性的引用无缝更新代码。 当某个字段是 public 时,其他对象可以直接访问该字段并可对其进行修改,而拥有该字段的对象不会检测到。...

C# 重构之六(重新排列参数重构)

Reorder Parameters是一项 Visual C# 重构操作,提供了一种对方法、索引器和委托的参数顺序进行更改的简单方法。 Reorder Parameters会更改声明,并在调用该成员的...

关于c#中的Func<>和Action<>

Func其实本人自己基本上也没怎么用过,之所以会写出来主要是因为在一本书的示例代码中看到了这两个东西的使用,发现其实还是挺好用的,所以就写下来,有需要的阿猿们可以参考一下。 首先说一下,个人感觉就是...

C# 重构之五(移除参数重构)

移除参数重构 (C#) Remove Parameters 是一项重构操作,提供了一种将形参从方法、索引器或委托中移除的简单方法。 “移除参数”会更改声明;并在调用该成员的所有位置移除形...

C#中 Action<T>和Func<T>的用法

本文主要介绍了.net中两个内置的泛型委托类Action和Func,并通过具体的实例对其进行了介绍!

C#基础——Func和Action的介绍及其用法

Func是一种委托,这是在3.5里面新增的,2.0里面我们使用委托是用Delegate,Func位于System.Core命名空间下,使用委托可以提升效率,例如在反射中使用就可以弥补反射所损失的性能。...

C# var和dynamic的用法和理解

var和dynamic的本质区别是类型判断的时间不同,前者是编译时,后者是运行时。 1.var在声明变量方面简化语法(只能是局部变量),在编译时交给编译器推断。 2.dynamic也是为简化语法而生的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)