如何在Visual Studio中生成getter和setter?
所谓"生成",是指自动生成特定选择的(一组)变量所必需的代码。
但是,欢迎我们对良好做法进行更明确的说明或者评论。
解决方案
回答
我的机器上不再安装Visual Studio(并且我使用的是Linux),但我确实记得在其中一个菜单内的某个位置隐藏了一个向导,该向导可以访问类生成器。
使用此向导,我们可以定义所有类的详细信息,包括方法和属性。如果我还记得的话,可以通过一个选项让VS来为我们自动创建设置器和获取器。
我知道这很模糊,但请检查一下,我们可能会发现。
回答
所谓生成,是指自动生成吗?如果这不是意思:
Visual Studio 2008为此提供了最简单的实现:
public PropertyType PropertyName { get; set; }
在后台,这将创建一个隐式实例变量,属性将存储到该实例变量中并在其中检索。
但是,如果要在"属性"中添加更多逻辑,则必须为其提供一个实例变量:
private PropertyType _property; public PropertyType PropertyName { get { //logic here return _property; } set { //logic here _property = value; } }
Visual Studio的早期版本也始终使用这种直接方法。
回答
如果我们使用的是Visual Studio 2005及更高版本,则可以使用insert snippet命令快速创建一个setter / getter。右键单击代码,然后单击"插入代码段"(Ctrl + k和x),然后从列表中选择" prop"。希望这可以帮助。
回答
除了使用ctrl
+k
,x
外,我们还可以只输入prop
然后按两次制表键
回答
Visual Studio还具有将从私有变量生成属性的功能。
如果右键单击变量,则在弹出的上下文菜单中单击"重构"项目。然后选择封装字段。这将为变量创建一个getter / setter属性。
我不太喜欢这种技术,因为如果我们必须创建大量的getter / setter,那么使用它会有些尴尬,并且它将属性直接放在私有字段的下面,这使我感到烦恼,因为我通常拥有我所有的私有字段都分组在一起,并且此Visual Studio功能破坏了我班级的格式。
回答
除了" prop"代码段和自动属性之外,还有一个重构选项,可让我们选择现有字段并通过属性公开它。另外,如果我们不喜欢" prop"实现,则可以创建自己的代码段。此外,像reshaper这样的第三方重构工具将为我们提供更多功能,并使创建更高级的代码片段更加容易。如果可以承受的话,我建议使用Resharper。
http://msdn.microsoft.com/zh-CN/library/f7d3wz0k(VS.80).aspx
http://www.jetbrains.com/
回答
如果我们使用的是ReSharper,请进入ReSharper菜单->代码->生成...(或者在周围的类中点击Alt
+ Ins`),我们将获得用于生成getter和/或者我们可以想到的二传手:-)