当选择重构,封装字段时,让我们说:
int m_member;
VS将生成
public int Member
{
get { return m_member; }
set { m_member = value; }
}
出于某种原因(使用反向工程工具,例如不知道这种风格),我想得到一种古老而更冗长的风格:
public int getMember() {
return m_member;
}
public void setMember(int value) {
m_member = value;
}
是否可以配置VS来执行此操作?否则,任何其他意思都有示例代码,如创建片段模板甚至插件,如果有必要?
答案 0 :(得分:6)
虽然我不一定推荐这个,但所有重构都只是您可以编辑的片段。默认安装会将C#模板放在此文件夹C:\Program Files\Microsoft Visual Studio 10.0\VC#\Snippets\1033\Refactoring
中,只需找到您想要的那个并根据需要进行修改。
注意:请务必先备份!!
我也同意其他人的意见,这是一个非常糟糕的主意!
答案 1 :(得分:2)
所以...你想在C#中编写Java / C ++ /(任何不支持属性的语言)?为什么呢?
属性很好,因为:
即使您的方法命名约定看起来像Java。当你学习它时,养成习惯采用新语言的习惯是个好主意。
答案 2 :(得分:1)
这种模式不是C#代码的惯用语 - 而Visual Studio也不支持它。我建议避免使用它来支持属性语法。但是,如果您出于某种原因确实需要它,那么您可以使用ReSharper到达目的地。以下是您在ReSharper中所做的事情:
- 重构>>封装字段 (这会创建一个属性)
- 重构>>转换>>属性方法 (这会生成get / set方法)
醇>
第一步让我们创建一个包装公共字段的属性。
第二个用可以指定名称的get / set方法替换该属性。