如何在Visual Studio中生成getter和setter?

通过“生成”,我的意思是自动生成特定选定(一组)variables所必需的代码。

但是,对于良好做法的任何更明确的解释或评论是值得欢迎的。

而不是使用ctrl + k ,你也可以只键入prop ,然后点击tab键两次

Visual Studio也有一个function,将从一个私有variables生成一个属性。

如果你右键点击一个variables,在popup的上下文菜单中点击“Refactor”项目。 然后select封装字段。 这将为variables创build一个getter / setter属性。

我不太喜欢这种技术,因为如果你必须创build大量的getter / setter,那么使用它会有点尴尬,并且会把属性直接放在private字段的下面,这会让我感到困惑,因为我通常会所有我的私人领域分组在一起,这个Visual Studiofunction打破了我的class级格式。

通过生成,你的意思是自动生成? 如果这不是你的意思:

Visual Studio 2008有这个最简单的实现:

 public PropertyType PropertyName { get; set; } 

在后台创build一个隐含的实例variables,您的财产存储和检索。

但是,如果你想在你的属性中join更多的逻辑,你必须有一个实例variables:

 private PropertyType _property; public PropertyType PropertyName { get { //logic here return _property; } set { //logic here _property = value; } } 

早期版本的Visual Studio也一直使用这种方法。

你也可以使用“propfull”并打两次TAB ,variables和属性get和set会被生成。

我使用Visual Studio 2013专业版。

  • 将光标放在实例variables的行上。

    在这里输入图像说明

  • 按组合键Ctrl + RCtrl + E或单击鼠标右键,select上下文菜单Refactor \ Encapsulate Field...然后按OK

    在这里输入图像说明

  • Preview Reference Changes - Encapsulate Field诊断日志中,按下Applybutton。

    在这里输入图像说明

  • 这是结果:

    在这里输入图像说明

您还可以将光标放置在select属性上 ,使用菜单编辑\重构\封装字段…

  • 其他信息:自C#3.0(2007年11月19日)以来,我们可以使用自动实现的属性 (这只是语法糖 )

 private int productID; public int ProductID { get { return productID; } set { productID = value; } } 

成为

 public int ProductID { get; set; } 

如果您使用的是Visual Studio 2005,则可以使用insert snippet命令快速创buildsetter / getter。 右键点击你的代码,点击插入片段( Ctrl + kx ),然后从列表中select“prop”。 希望这可以帮助。

如果你使用的是ReSharper,进入ReSharper菜单 – >代码 – >生成…(或者在周围的类中点击Alt + Ins ),你将得到所有的生成getter和/或setter的选项可以想到:-)

使用propfull关键字。
它会生成属性和variables

我知道这比太阳还年长,但是我想我会把这个作为我的回答,因为它就像这样做。

我所做的是创build我自己的片段,只添加{get; set;} {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,然后inputget > tab ,它会添加get set。 它不是什么神奇的东西,但是因为我倾向于首先键入我的访问修饰符,所以我最好完成这个名称和types。

我没有在我的机器上安装Visual Studio(而且我正在使用Linux),但我确实记得有一个向导隐藏在可以访问类构build器的某个菜单中。

使用此向导,您可以定义所有类的详细信息,包括方法和属性。 如果我记得好,有一个选项可以让VS自动为你创buildsetter和getters。

我知道这是相当模糊的,但检查出来,你可能会发现它。

除了“prop”片段和自动属性之外,还有一个重构选项可让您select现有字段并通过属性将其公开。 另外,如果你不喜欢“道具”的实现,你可以创build自己的片段。 另外,像resharper这样的第三方重构工具将为您提供更多的function,并使创build更高级的片段变得更加容易。 如果你负担得起,我会推荐Resharper。

http://msdn.microsoft.com/en-us/library/f7d3wz0k(VS.80).aspx http://www.jetbrains.com/

在Visual Studio Community Edition 2015中,您可以select所需的所有字段,然后按ctrl + . 自动生成属性。 你必须select是否要使用该属性,而不是字段。

在这里输入图像说明 代表visual studio的工具,我们可以使用在线工具轻松生成c#属性。 c#propery生成器。