这里的“生成”指的是为特定选定的(一组)变量自动生成所需的代码。
但是,任何关于良好实践的更明确的解释或评论都是受欢迎的。
这里的“生成”指的是为特定选定的(一组)变量自动生成所需的代码。
但是,任何关于良好实践的更明确的解释或评论都是受欢迎的。
当前回答
我个人使用CTRL+。然后选择- “封装菲尔德斯”。 这是这个选项的缩写-(我们如何在Visual Studio中生成getter和setter ?)
我标记了自动选择重构的缩写(CTRL+。)
其他回答
我使用Visual Studio 2013 Professional。
将光标放在实例变量的行上。 按组合键“Ctrl + R”、“Ctrl + E”或单击鼠标右键。选择上下文菜单重构→封装字段…,然后按“OK”。 在预览引用更改-封装字段对话框中,按下“应用”按钮。 这是结果:
您还可以放置光标以选择属性。使用菜单编辑→重构→封装字段…
其他信息: 从c# 3.0(2007年11月19日)开始,我们可以使用自动实现的属性(这只是语法糖)。 和 private int productID; 公共int ProductID { 返回productID;} set {productID = value;} } 就变成了 公共int ProductID{获取;设置;}
我的机器上不再安装Visual Studio(我使用的是Linux),但我确实记得在其中一个菜单中隐藏了一个向导,可以访问类构建器。
使用此向导,您可以定义所有类的详细信息,包括方法和属性。如果我没记错的话,有一个选项可以让Visual Studio自动为你创建setter和getter。
我知道这很模糊,但仔细看看,你可能会发现。
你也可以使用“propfull”并按TAB键两次。
将生成带有get和set的变量和属性。
我创建了自己的代码片段,只添加了{get;设置;}。我这样做只是因为我发现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>
</CodeSnippets>
有了这个,你手动输入你的PropType和PropName,然后输入get→Tab,它将添加get集。这没什么神奇的,但由于我倾向于先输入我的访问修饰符,我不妨完成名称和类型。
你说的生成是指自动生成吗?如果你不是这个意思
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也总是使用这种手工方法。