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。看我的編輯。 –
檢查並確保它們實際上是相同的變量(例如,您沒有本地遮蔽會員或類似物)。這也可能只是一個誤報。 –