JetBrains Rider-生成类似getter / setter的Java?

时间:2019-06-20 14:24:39

标签: c# getter-setter jetbrains-ide rider

我一直在搜索数小时,以寻找在JetBrains C#IDE Rider中生成类似Java的getter和setter的方法。

有人知道我该怎么做才能真正更改那些奇怪的C#getter和setter的布局吗?

我想让Rider从以下位置生成getter和setter转换:

    public Transform List
    {
        get { return list; }
        set { list = value; }       
    }

对此

public Transform getList(){ return this.list; }
public void setList(Transform list){ this.list = list;  }

2 个答案:

答案 0 :(得分:5)

一个明显的非答案:别再浪费您的时间“加倍”!

C#不是Java。使用一种工具来对抗目标语言的本机惯用结构,这可能是毫无意义的。

编写源代码以供人类阅读。优质的源代码永远不会令读者惊讶。有经验的c#程序员会像getter和setter一样看待您的Java,并且只会奇怪:“为什么他用那些奇怪的方法来污染这些类,而不是使用c#属性支持”。

除此之外,您可能想读https://en.m.wikipedia.org/wiki/Uniform_access_principle来理解为什么c#属性实际上是比具有getter / setter对的Java字段更有效的方法。

或者就像两千多年前所说的那样:当您来到罗马时,就像罗马人一样!如果您不想像罗马人那样去做,请远离罗马,或者在您的特定情况下使用c#。

答案 1 :(得分:-1)

OP可能来自Java世界。在菜单(Intellij)Java IDE中->代码->生成 Generate 在生成菜单中,“ Getter and Setter”是第四个选项。 Generate menu 在C#world(Rider)中,属性用于公开选定的字段。 Jetbrains Recommends生成属性而不是Java getter-setter方法。 enter image description here