Passing parameters by reference requires developers to understand the subtle differences between reference and value types. It is preferable to avoid passing parameters by reference when possible.
== Noncompliant Code Example
----
Module Module1
Sub Foo(ByRef result As Integer) ' Non-Compliant
result = 42
End Sub
Sub Main()
Dim result As Integer
Foo(result)
Console.WriteLine(result)
End Module
== Compliant Solution
Function Foo() As Integer ' Compliant
Return 42
End Function
Dim result As Integer = Foo()