使用Visual Studio 2008/2010或Resharper 5创建自动属性的快捷方式

8

我有一个类,其中包含大量属性,这些属性包含某些计算结果,例如:

public class Results
{
    public double Result1 { get; set; }
    public double Result2 { get; set; }
}

在另一个类中,我正在进行计算以填充上述属性,例如:

public class Calc
{
    private Results Calc()
    {
        Results res = new Results();
        res.Result1 = ... some calculation
        res.Result2 = ... some other calculation

        res.Result3 = ... // not yet defined in 'Results' class
        return res;
    }
}

当我编写Calc类时,Results类中未定义的Result3将以红色突出显示。
目前,我使用Resharper的ALT+Enter快捷键,选择“创建属性'Result3'”,这将在Results类中创建以下代码:
public double Result3
{
    get { throw new NotImplementedException(); }
    set { throw new NotImplementedException(); }
}

我需要手动更改为:

public double Result3 { get; set; }

然后我使用 CTRL + Shift + Backspace 快捷键返回到 Calc 类。

如果还没有从 Calc 类直接定义,那么我该如何轻松地在 Results 类中创建自动属性?

3个回答

7
对于Resharper 4/5版本,输入prop然后按Tab键,填写必需的参数即可。

我知道“prop”模板,但这意味着我必须进入Results类并手动创建它。我希望能够在编写Calc类时完成此操作。 - Piers Myers
prop 快捷方式似乎可以在 VS.NET 2010 中本地工作,而无需使用 Resharper 来创建自动属性。 - atconway

2

如果您正在使用最近版本的 ReSharper,则按下 Alt + Enter 创建属性,然后按 Enter 接受数据类型后,实际上会得到一个下拉列表来选择实现方式。其中之一是自动属性。


我正在使用 Resharper 5,当我在其上按下 Alt-Enter 时,我只看到四个选项: 创建字段... 创建属性... 全部更改... 全部更改本地... - Piers Myers
1
是的。创建属性。然后它会创建并带您到该属性。数据类型将被突出显示。按Enter键接受数据类型。然后您会看到属性实现的选择。 - David M
啊,我现在明白了,感谢你突出那个功能。我可以用它来省略一步。但仍然希望尽可能少按键完成所有操作。 - Piers Myers
嗯,我似乎需要执行以下操作:Alt-Enter,向下箭头,回车键,制表符,向下箭头,向下箭头,回车键 - 共7个步骤 :) - Piers Myers

2
听起来你想留在Calc类中并一次性创建Results属性。
以下是您需要做的:
1. 打开解决方案范围的错误检查(Resharper 5更好/更快)。 2. 编辑Calc,引用所有Results属性,保留报告的错误。 3. 按下Alt+Shift+PageDown。这将循环遍历所有错误。 4. 按下Alt+Enter,选择“创建属性”,并在Results中使用自动属性选项,然后按Alt+Shift+PageDown回到Calc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接