如何在Resharper中使用支持字段创建属性?
这是你想要对课程做的第一件事我无法找到它。
它如此简单。
答案 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'。将创建一个支持字段。