-2

我在我们的工具上运行了一个静态代码分析工具,并查看了它的结果,下面的代码是它正在谈论的事情之一:

    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);
    }

那么在您看来,您认为哪种编码风格更合适且不易出错?

谢谢

4

2 回答 2

6

后者 - 它确保您不会在语句oSnap 之后使用。using

抛开别的不说,SetRowCol退回一次性的东西会很奇怪……这意味着什么?

于 2012-02-09T21:31:14.647 回答
4

两者的意思完全不同,除非最后SetRowCol返回this。首先,您正在处理SetRowCol. 在第二个中,您正在处理SpreadSnapshot.

如果两者都是一次性的,您应该对两者都使用:

using (SpreadSnapshot oSnap = new SpreadSnapshot())
using (oSnap.SetRowCol(fpSpread, row, col))
{
    SpreadSetComboBox(fpSpread, list, displayProperty);
}
于 2012-02-09T21:32:42.710 回答