Unused parameters are misleading. Whatever the values passed to such parameters, the behavior will be the same.
This rule raises an issue when a private procedure of a Class, Module or Structure takes a
parameter without using it.
Private Sub DoSomething(ByVal a As Integer, ByVal b as Integer) ' "b" is unused
Compute(a)
End Sub
Private Function DoSomething2(ByVal a As Integer, ByVal b As Integer) As Integer ' "a" is unused
Compute(b)
Return b
End Function
Private Sub DoSomething(ByVal a As Integer)
Compute(a)
End Sub
Private Function DoSomething2(ByVal b As Integer) As Integer
Compute(b)
Return b
End Function
This rule doesn’t raise any issue in the following contexts:
NotImplementedException. virtual, override procedures.