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

时间:2008-08-06 02:15:14

标签: c# visual-studio setter getter

“生成”是指自动生成特定选定(一组)变量所需的代码。

但欢迎对良好做法作出更明确的解释或评论。

16 个答案:

答案 0 :(得分:271)

而不是使用 ctrl + k x ,您也可以输入prop,然后点按两次标签

答案 1 :(得分:49)

Visual Studio还有一个将从私有变量生成属性的功能。

如果右键单击变量,则在弹出的上下文菜单中单击“重构”项。然后选择封装字段。这将为变量创建一个getter / setter属性。

我不是太喜欢这种技术的粉丝,因为如果你必须创建很多getter / setter而使用它有点尴尬,并且它将属性直接放在私有字段下面,这会让我烦恼,因为我通常将所有私有字段组合在一起,而这个Visual Studio功能会破坏我的类格式化。

答案 2 :(得分:30)

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

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也总是使用这种缩写方法。

答案 3 :(得分:30)

我使用的是Visual Studio 2013 Professional。

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

    enter image description here

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

    enter image description here

  • Preview Reference Changes - Encapsulate Field diaglog中,按下按钮Apply

    enter image description here

  • 结果如下:

    enter image description here

您还放置光标以选择属性,使用菜单编辑\重构\封装字段...

private int productID;

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

成为

public int ProductID { get; set; }

答案 4 :(得分:26)

你也可以使用“propfull”并点击 TAB 两次,生成get和set的变量和属性。

答案 5 :(得分:6)

如果您使用的是Visual Studio 2005,则可以使用insert snippet命令快速创建setter / getter。右键单击代码,单击Insert Snippet( Ctrl + k x ),然后从列表中选择“prop”。希望这会有所帮助。

答案 6 :(得分:4)

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

答案 7 :(得分:2)

使用propfull关键字 它将生成属性和变量

答案 8 :(得分:2)

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

答案 9 :(得分:2)

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

我所做的是创建我自己的代码段,只添加{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。它没什么神奇的,但是因为我倾向于首先输入我的访问修饰符,所以我也可以完成名称和类型。     

答案 10 :(得分:1)

除了'prop'代码段和自动属性之外,还有一个重构选项可让您选择现有字段并通过属性公开它。此外,如果您不喜欢“prop”实现,则可以创建自己的代码段。此外,像resharper这样的第三方重构工具将为您提供更多功能,并可以更轻松地创建更高级的代码段。如果你买得起,我会推荐Resharper。

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

答案 11 :(得分:0)

首先获取扩展程序,只需按(ctrl + shift + X)  并安装getter setter .... 之后,只需选择您的变量  然后右键单击 转到命令面板...  然后输入getter ... 它将建议生成get和set方法,单击此...

答案 12 :(得分:0)

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

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

我知道这很模糊,但请查看它,你可能会发现它。

答案 13 :(得分:0)

在Visual Studio 2019中,按如下所示选择您的属性:

enter image description here

然后按Ctrl+r 然后按Ctrl+e

将出现一个对话框,向您显示要对代码进行的更改的预览。如果一切看起来都很好(大部分情况下),请按OK

答案 14 :(得分:-1)

enter image description here代表visual studio工具,我们可以使用在线工具轻松生成c#属性 调用。 c# propery generator.

答案 15 :(得分:-3)

你只需在声明变量后在android studio中按 Alt + Ins ,你就可以获得生成代码的getter和setter。