可能的重复:
为什么 ReSharper 想要对所有内容使用“var”? https://stackoverflow.com/questions/1873873/why-does-resharper-want-to-use-var-for-everything
我有 ReSharper 4.5,到目前为止发现它非常有用,但我有一个担忧;
它似乎想让每个变量声明都隐式(var)。
作为一个相对new开发人员,在这方面我应该信任 ReSharper 多少?
从绘制选项卡标题的方法中获取以下代码片段。
TabPage currentTab = tabCaseNotes.TabPages[e.Index];
Rectangle itemRect = tabCaseNotes.GetTabRect(e.Index);
SolidBrush fillBrush = new SolidBrush(Color.Linen);
SolidBrush textBrush = new SolidBrush(Color.Black);
StringFormat sf = new StringFormat
{
Alignment = StringAlignment.Center,
LineAlignment = StringAlignment.Center
};
Resharper 希望我将所有 5 个更改为var。我读过以下类似的帖子,C# 中 var 关键字的使用 https://stackoverflow.com/questions/41479/use-of-var-keyword-in-c,但我想从 ReSharper 的角度了解。
Resharper 主要致力于帮助您重构代码,并且var
关键字通常使重构变得更容易。例如,如果任何这些函数的返回值更改为兼容的类型,您不必更改任何代码。因此现在重构你的代码变得更容易了tabCaseNotes
类型,例如。
就我个人而言,我通常倾向于保留前两行,因为我喜欢看到显式列出的变量的类型名称某处在声明变量的行上。如果有的话,我可能会寻找一个可以使用的接口,这样我也可以获得与使用相同的“通用性”var
关键字而不会丢失任何重要的可读类型信息。但是,我肯定会使用var
for fillBrush
, textBrush
, and sf
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)