我有以下代码:ReSharper的警告 - 访问修改关闭
string acctStatus = account.AccountStatus.ToString();
if (!SettableStatuses().Any(status => status == acctStatus))
acctStatus = ACCOUNTSTATUS.Pending.ToString();
注意account.AccountStatus是类型ACCOUNTSTATUS的枚举。在第二行中,ReSharper向我发出acctStatus的“访问修改的关闭”警告。当我做推荐的操作,复制到本地变量,它修改代码如下:
string acctStatus = realAccount.AccountStatus.ToString();
string s = acctStatus;
if (!SettableStatuses().Any(status => status == s))
acctStatus = ACCOUNTSTATUS.Pending.ToString();
这是为什么好还是最好什么我原本?
编辑
委员会还建议在阵列裹局部变量,主要生产:
string[] acctStatus = {realAccount.AccountStatus.ToString()};
if (!SettableStatuses().Any(status => status == acctStatus[0]))
acctStatus[0] = ACCOUNTSTATUS.Pending.ToString();
这似乎是彻头彻尾的古怪的我。
检查此问题并接受答案,可能有帮助。 http://stackoverflow.com/questions/235455/access-to-modified-closure – Chuck 2009-11-06 15:59:53