Resharper使用支持字段创建属性

时间:2012-06-27 08:39:05

标签: resharper

如何在Resharper中使用支持字段创建属性?

这是你想要对课程做的第一件事我无法找到它。

它如此简单。

3 个答案:

答案 0 :(得分:13)

class的正文中,输入prop并点击标签。提供酒店的类型和名称。这将创建一个autoproperty(这些天,它通常是你想要创建的其中之一)。

然后,将光标放在属性名称上,点击 Alt + Enter 并选择To property with backing field

答案 1 :(得分:5)

我发现的最快捷方式是输入您的财产,就好像它已经存在一样:

this.MyProperty = "hello";

然后按住Alt键返回属性名称,选择Create Property'MyProperty',然后点击tab选择自动属性,托管支持字段或默认成员体。

我相信这比使用prop快捷方式更快,点击标签,指定属性类型,点击标签两次,指定名称,然后按属性名称上的Alt-Return并选择'to property有支持领域的选择。

您还可以创建一个实时模板,以便稍微减少工作量,例如:

/// <summary>
/// Private backing field for $Property$ property
/// </summary>
private $Type$ $BackingField$;

public $Type$ $Property$
{
    get
    {
        return this.$BackingField$;
    }

    set
    {
        this.$BackingField$ = value;     
    }
}

参数$ BackingField $可以通过模板编辑器的“小写第一个字符”宏自动从$ Property $生成,并将其设置为“Not editable”。

但我相信第一种方法是最快捷,最简单的方法。

答案 2 :(得分:0)

如果您已经拥有带有getter和setter的属性,有时您会发现您使用的支持字段不再可用,因为您更改了当前类的基类,或者您进行了其他更改。例如,在下面的LinesMax属性中,支持字段Height可从继承的类中获得:

public int LinesMax
{
   get { return ConvertValGet(AdjustMetricEnum.Height, Height); }
   set { Height = ConvertValSet(AdjustMetricEnum.Height, value); }
}

如果上面的代码有效,但我后来决定不再继承暴露Height属性的类,则IDE中的两个Height变量名称将变为红色,表示它们不再可用于代码。

此时,我可能想要创建一个私有支持字段。为了轻松创建,我可以先将高度名称修改为_height,然后将光标放在_height名称上,按Alt-Enter然后选择Create field'_height'。将创建一个支持字段。