生成属性
ReSharper 将帮助您为所有需要公开的字段生成属性。
在下面的示例中,此命令用于为 _radius 和 _center 字段生成属性。
生成前 | 生成后 |
|---|---|
class Circle
{
int _radius;
readonly Point _center;
public Circle(int radius, Point center)
{
_radius = radius;
_center = center;
}
}
|
class Circle
{
int _radius;
readonly Point _center;
public int Radius
{
get { return _radius; }
set { _radius = value; }
}
public Point Center
{
get { return _center; }
}
public Circle(int radius, Point center)
{
_radius = radius;
_center = center;
}
}
|
生成将公开选定字段的属性
在编辑器中,将插入点放在类型名称上或类型内您希望插入将公开选定字段的属性的行上。 如果插入符号位于类型名称上,生成的代码将添加到类型声明的开头。
按 Alt+Insert 或从主菜单中选择 。 或者,您可以按 Control+Shift+A ,在弹出窗口中开始输入命令名称,然后在那里选择它。
在 生成 弹出窗口中,选择 属性 / 只读属性。
在出现的 生成 对话框中,选择要为其生成属性的字段。

(可选)使用以下适用于所有生成属性的控件:
- 访问权限
定义生成属性的访问权限修饰符。
- 只读
定义是否将属性生成为只读。 如果您选择 自动的 ,ReSharper 将仅为只读字段生成 getter,而为其他字段生成 getter 和 setter。
如果您在 生成 弹出窗口中选择了 只读属性 ,选择器将设置为 是 ,但您可以根据需要更改它。
- 虚拟
(如果适用)为生成的属性添加
virtual修饰符。- 在属性更改时通知
(如果适用)如果您的类实现了
INotifyPropertyChanged或继承自支持属性更改通知的类(例如,Prism 的NotificationObject),并且通知属性更改的方法带有 [NotifyPropertyChangedInvocator] 属性 ,您可以选择实现带有更改通知调用的属性。 有关更多信息,请参阅 INotifyPropertyChanged 支持。
单击 完成 完成向导。
您还可以单击 选项 ,在 ReSharper 选项的 页面上查看或修改通用代码生成首选项。
此命令生成属性,同时保留原始字段不变。 如果需要,您可以通过在任意属性上按 Alt+Enter 将生成的属性转换为自动实现的属性:

此功能在以下语言和技术中 受支持:
此处提供的说明和示例针对在 C# 中使用该功能。 有关其他语言的更多信息,请参阅 语言和框架 部分中的相应主题。