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

Translate

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

但是,欢迎您对良好做法进行更明确的说明或评论。

This question and all comments follow the "Attribution Required."

所有的回答

Translate

而不是使用ctrl+k,x你也可以输入prop然后按两次Tab键

来源
Translate

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

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

我不太喜欢这种技术,因为如果您必须创建大量的getter / setter,那么使用它会有点尴尬,并且它将属性直接放在私有字段的下面,这使我感到烦恼,因为我通常拥有我所有的私有字段都分组在一起,并且此Visual Studio功能破坏了我班级的格式。

来源
Translate

我使用Visual Studio 2013专业版。

  • 将光标置于实例变量的行。

    enter image description here

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

    enter image description here

  • Preview Reference Changes - Encapsulate Field诊断对话框,按按钮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; }
来源
Translate

所谓生成,是指自动生成吗?如果这不是您的意思:

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的早期版本也始终使用这种直接方法。

来源
Translate

您也可以使用“ propfull”并点击标签两次,将生成具有get和set的变量和属性。

来源
Translate

如果您使用的是Visual Studio 2005及更高版本,则可以使用insert snippet命令快速创建一个setter / getter。右键点击您的代码,然后点击插入代码段(Ctrl+k,x),然后从列表中选择“ prop”。希望这可以帮助。

来源
Translate

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

来源
Translate

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

来源
Translate

我知道这比太阳还老,但我想我将其发布为答案,因为它就像这样做。

我所做的是创建自己的片段,仅添加{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它将添加获取集。没什么了不起的,但是既然我还是倾向于先输入访问修饰符,那么我不妨整理一下名称和类型。

来源
Translate

在Visual Studio社区版2015中,您可以选择所需的所有字段,然后按ctrl + .自动生成属性。您必须选择是否要使用属性代替字段。

来源
Translate

除了“ prop”代码段和自动属性之外,还有一个重构选项,可让您选择现有字段并通过属性公开它。另外,如果您不喜欢“ prop”实现,则可以创建自己的代码段。另外,像reshaper这样的第三方重构工具将为您提供更多功能,并使创建更高级的代码片段更加容易。如果可以承受的话,我建议使用Resharper。

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

来源
Translate

我的机器上不再安装Visual Studio(并且我使用的是Linux),但是我确实记得在其中一个菜单中的某个位置隐藏了一个向导,该向导可以访问类生成器。

使用此向导,您可以定义所有类的详细信息,包括方法和属性。如果我还记得的话,可以通过一个选项让VS请求为您自动创建设置器和获取器。

我知道这很模糊,但请检查一下,您可能会发现。

来源
Translate

enter image description here代表Visual Studio工具,我们可以使用称为的在线工具轻松生成c#属性。C#属性生成器。

来源
Translate

首先获取Extension,只需按(ctrl + shift + X)并安装getter setter...。此后,只需选择变量并右键单击“命令”面板...,然后键入getter ...,它将建议生成get和set方法点击这个...

来源
Translate

您只需按一下Alt键+英斯在android studio中声明变量后,您将在生成代码时获得getter和setter。

来源