如何重写冗余分配?

时间:2014-05-08 19:00:03

标签: vb.net .net-4.0 sonarqube

我有这段代码:

    If SalaryCbx.Checked = True Then
        fundSalary = "S"  <- Throws an error
    Else
        fundSalary = "N"  <- Throws an error
    End If

SonarQube抛出了一个关键的&#34;错误:

未使用分配 (类别:代码中的冗余) 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)

1 个答案:

答案 0 :(得分:2)

该消息表示您未在代码的任何其他部分中读取指定的值。可能的原因:

  • 你犯了一个错误(就像复制粘贴错误一样)并且意外地读了一个不同的变量,你打算读这个。

  • 阅读代码在较窄的范围内使用同名变量隐藏了书面变量。

  • 不再需要存在的旧代码,因为没有任何东西可以读取变量。

  • 检查员误报。