Flags parameters that are passed by reference (ByRef), but could be passed by value (ByVal).
Inspection type: MaintainabilityAndReadabilityIssues
Default severity: Suggestion
Explicitly specifying a ByVal modifier on a parameter makes the intent explicit: this parameter is not meant to be assigned. In contrast, a parameter that is passed by reference (implicitly, or explicitly ByRef) makes it ambiguous from the calling code's standpoint, whether the procedure might re-assign these ByRef values and introduce a bug
For performance reasons, this inspection will not flag a parameter that is passed as an argument to a procedure that also accepts it ByRef.
The following quick-fixes are available for this inspection:
Each example is a self-contained MCVE showing the feature in a single specific scenario.
Module1by default, these are general-purpose standard procedural modules.
Class1by default, these modules define the default interface for an object of that type.
VB_PredeclaredIdattribute set to
True(with or without a
@Interfaceannotation) whose default interface is not a class type intended to be instantiated.
The following code should trigger this inspection:
The content of this page was generated from xml/comments in the source code compiled into
Edit this page