1
我有这样的代码:如何重新编写冗余分配?
If SalaryCbx.Checked = True Then
fundSalary = "S" <- Throws an error
Else
fundSalary = "N" <- Throws an error
End If
SonarQube抛出一个 “临界” 错误:
分配不使用 (等级:在代码冗余配置) ReSharper的-vbnet RedundantAssignment分配 值不用于在任何执行路径中
有没有更好的方法来编写这种逻辑? 我尝试了Select Case
声明,但它也抛出了错误。
我也使用这个相同的代码,除了不同的变量/复选框,它工作正常 - 没有错误。
更新:这里是我使用它的地方。
Dim insertQry As String = "INSERT INTO FUND (FUND_ID, FUND_NM, FUND_TICKER_NM, FUND_SALARY_IND, FUND_BONUS_IND, FUND_ALCTN_IND, BEG_DT, END_DT) "
insertQry &= " VALUES(@FundID, @fndName, @fndTicker, @fndSalary, @fndBonus, @fndAllocation, @fndBeg, @fndEnd) "
'Code omitted
'Declare Connection String
Using sqlConnection As New SqlConnection(myConn)
'Declare variable for SQL command
Using cmd As New SqlCommand(insertQry)
With cmd
.Connection = sqlConnection
.CommandType = CommandType.Text
.Parameters.AddWithValue("@FundID", id)
.Parameters.AddWithValue("@fndName", fundName)
.Parameters.AddWithValue("@fndTicker", fundTicker)
.Parameters.AddWithValue("@fndSalary", fundSalary)
该消息是说您没有读取代码的任何其他部分中指定的值。如果目前不需要此代码,则可以将其消除。也有可能你做了类似复制粘贴的错误,并且在你打算阅读这个错误时意外地读了一个不同的变量。 –
感谢评论@AndrewMedico。看我的编辑。 –
检查并确保它们实际上是相同的变量(例如,您没有本地遮蔽会员或类似物)。这也可能只是一个误报。 –