【问题标题】:In ReSharper 9, how to generate autoproperties from missing members?在 ReSharper 9 中,如何从缺少的成员中生成自动属性?
【发布时间】:2026-02-12 06:10:01
【问题描述】:

在 ReSharper 8 中,当一个类缺少接口成员(属性)时,我会 Alt+Enter 并选择“Implement Missing Members”,这将生成如下自动属性:

public class MyClass : IHasId {
    public int Id { get; set; }
}

但是,在 ReSharper 9 中,会生成以下内容:

public class MyClass : IHasId {
    public int Id {
        get { throw new System.NotImplementedException(); }
        set { throw new System.NotImplementedException(); }
    }
}

我已经设置R#在“Member Generation”下创建自动属性,还是没有效果。

这是一个错误,还是我遗漏了什么?

【问题讨论】:

  • ReSharper 之后似乎可以使用 Alt+Enter“修复”此属性,将其转换为自动属性或具有支持字段的属性。不确定 R#8 能否做到这一点。但是,是的,奇怪的是它不能一开始就创建自动道具。
  • 我创建了一个错误报告:youtrack.jetbrains.com/issue/RSRP-430040

标签: c# visual-studio-2013 resharper resharper-9.0


【解决方案1】:

这里似乎有一些奇怪的选项在起作用,它们相互影响。

这样做:

在类内部导航(即不在类或接口上的波浪线),然后按 Alt+Insert 以生成代码,然后选择“Missing Members”。

在弹出的对话框中,改变底部的一个选项,生成自动属性:

然后确定该对话框,注意我没有选择任何要实际实施的项目。然后在类/接口上再次尝试 Alt+Enter。

至少可以说这似乎很奇怪,但现在至少你可以“修复”它。

【讨论】: