【问题标题】:VS2017 encapsulate only with getter?VS2017只用getter封装?
【发布时间】:2017-04-24 18:40:16
【问题描述】:

在 Visual Studio 中,您可以使用重构来自动封装字段:

protected bool grounded

变成

private bool grounded;

protected bool Grounded
{
    get
    {
        return grounded;
    }
    set
    {
        grounded = value;
    }
}

这很方便,但大多数时候我只想生成 getter 而不是 getter 和 setter,有没有办法做到这一点?

我似乎在任何地方都找不到它,所以我每次都必须擦除 setter。

【问题讨论】:

    标签: c# visual-studio refactoring visual-studio-2017


    【解决方案1】:

    如果您的实现是默认实现,您可以改用自动属性并编写:

    public bool Grounded { get; set; }
    

    然后使用 setter:

    public bool Grounded { get; }
    // or
    public bool Grounded { get; private set; }
    

    它基本上编译成你写的。 在 VS 中你有一个宏:写 prop 并按 Tab+Tab 它将生成上面的行

    【讨论】:

    • 哦,是的,我可以做“public bool Grounded { get; private set; }”,这是完美的
    猜你喜欢
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 2019-01-30
    • 1970-01-01
    • 2022-08-19
    相关资源
    最近更新 更多