如何在 Visual Studio 中生成 getter 和 setter?
-
08-06-2019 - |
题
我所说的“生成”是指自动生成特定选定(一组)变量所需的代码。
但欢迎对良好实践进行任何更明确的解释或评论。
解决方案
而不是使用 控制键+k,X 你也可以直接输入 prop
然后按两次 Tab 键
其他提示
Visual Studio 还具有从私有变量生成属性的功能。
如果右键单击变量,则在弹出的上下文菜单中单击“重构”项。然后选择封装字段。这将为变量创建一个 getter/setter 属性。
我不太喜欢这种技术,因为如果你必须创建很多 getter/setter,那么使用它会有点尴尬,而且它将属性直接放在私有字段下面,这让我很烦恼,因为我通常有我的所有私有字段都分组在一起,并且此 Visual Studio 功能破坏了我的班级的格式。
你所说的生成是指自动生成吗?如果这不是你的意思:
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 2013 专业版。
- 将光标置于实例变量所在行。
- 按组合键 控制键+右, 控制键+乙 或单击鼠标右键,选择上下文菜单
Refactor \ Encapsulate Field...
然后按OK
.
- 在
Preview Reference Changes - Encapsulate Field
对话框,按下按钮Apply
.
- 这是结果:
你也 放置光标以选择属性, 使用菜单 编辑\重构\封装字段...
和
private int productID;
public int ProductID
{
get { return productID; }
set { productID = value; }
}
成为
public int ProductID { get; set; }
您还可以使用“propfull”并点击 标签 两次,将生成具有 get 和 set 的变量和属性。
如果您使用的是 Visual Studio 2005 及更高版本,您可以使用插入片段命令快速创建 setter/getter。右键单击您的代码,然后单击“插入片段”(控制键+k,X),然后从列表中选择“prop”。希望这可以帮助。
如果您使用 ReSharper,请进入 ReSharper 菜单 --> 代码 --> 生成...(或击中 替代+INS 在周围的类中),您将获得您能想到的用于生成 getter 和/或 setter 的所有选项:-)
使用 propfull
关键词。
它将生成属性和变量
我知道这比太阳还要古老,但我想我会把它作为我的答案发布,因为它就像这样做一样。
我所做的是创建我自己的代码片段,仅添加 {get; set;}
. 。我做到了只是因为我发现 prop > tab
变得笨重。
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>get set</Title>
<Shortcut>get</Shortcut>
</Header>
<Snippet>
<Code Language="CSharp">
<![CDATA[{get; set;}]]>
</Code>
</Snippet>
</CodeSnippet>
这样,您可以手动输入 PropType 和 PropName,然后输入 get > tab
它会添加 get set。这没什么神奇的,但由于无论如何我都倾向于先输入访问修饰符,所以我也可以完成名称和类型。
在 Visual Studio Community Edition 2015 中,您可以选择所需的所有字段,然后按 ctrl + .
自动生成属性。您必须选择是否要使用属性而不是字段。
除了“prop”片段和自动属性之外,还有一个重构选项可让您选择现有字段并通过属性公开它。另外,如果您不喜欢“prop”实现,您可以创建自己的代码片段。此外,像 resharper 这样的第三方重构工具将为您提供更多功能,并让您更轻松地创建更高级的代码片段。如果你能负担得起的话,我会推荐Resharper。
http://msdn.microsoft.com/en-us/library/f7d3wz0k(VS.80).aspx http://www.jetbrains.com/
我的计算机上不再安装 Visual Studio(并且我使用的是 Linux),但我确实记得在其中一个菜单中的某处隐藏着一个向导,可以访问类生成器。
使用此向导,您可以定义所有类的详细信息,包括方法和属性。如果我没记错的话,有一个选项可以让 VS 自动为您创建 setter 和 getter。
我知道这很模糊,但是检查一下,你可能会找到它。
首先获得扩展名,只需按(CTRL+Shift+X)并安装Getter设置器。之后,只需选择您的变量,然后右键单击命令调色板...并输入吸气剂...它将建议生成 get 和 set 方法,单击此...
代表Visual Studio工具我们可以使用在线工具轻松地生成C#属性。 C# 属性生成器。
您只需简单地按一下 替代+INS 在android studio中声明变量后,您将在生成代码时获得getter和setter。