我在我们的工具上运行了一个静态代码分析工具并查看其结果,下面的代码就是它所讨论的事情之一:
SpreadSnapshot oSnap = new SpreadSnapshot();
using (oSnap.SetRowCol(fpSpread, row, col))
{
SpreadSetComboBox(fpSpread, list, displayProperty);
}
所以我将其更改为下面的代码并修复了该工具正在讨论的错误:
using (SpreadSnapshot oSnap = new SpreadSnapshot())
{
oSnap.SetRowCol(fpSpread, row, col);
SpreadSetComboBox(fpSpread, list, displayProperty);
}
所以在您看来,您认为哪种编码风格更合适,更不容易出错?
由于
答案 0 :(得分:6)
后者 - 它确保您不会在 oSnap
声明之后使用using
。
除了其他任何事情,SetRowCol
返回一些可以丢弃的东西是很奇怪的......这甚至意味着什么?
答案 1 :(得分:4)
除非SetRowCol
在最后返回this
,否则这两者意味着完全不同的事情。首先,您要处理SetRowCol
的结果。在第二个中,您将处置SpreadSnapshot
。
如果两者都是一次性的,你应该同时使用:
using (SpreadSnapshot oSnap = new SpreadSnapshot())
using (oSnap.SetRowCol(fpSpread, row, col))
{
SpreadSetComboBox(fpSpread, list, displayProperty);
}