我一直在搜索数小时,以寻找在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; }
答案 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中->代码->生成 在生成菜单中,“ Getter and Setter”是第四个选项。 在C#world(Rider)中,属性用于公开选定的字段。 Jetbrains Recommends生成属性而不是Java getter-setter方法。