CA1811: Avoid uncalled private code
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
Item | Value |
---|---|
RuleId | CA1811 |
Category | Microsoft.Performance |
Breaking change | Non-breaking |
Cause
A private or internal (assembly-level) member does not have callers in the assembly, is not invoked by the common language runtime, and is not invoked by a delegate. The following members are not checked by this rule:
Explicit interface members.
Static constructors.
Serialization constructors.
Methods marked with System.Runtime.InteropServices.ComRegisterFunctionAttribute or System.Runtime.InteropServices.ComUnregisterFunctionAttribute.
Members that are overrides.
Rule description
This rule can report false positives if entry points occur that are not currently identified by the rule logic. Also, a compiler may emit noncallable code into an assembly.
How to fix violations
To fix a violation of this rule, remove the noncallable code or add code that calls it.
When to suppress warnings
It is safe to suppress a warning from this rule. To do so, see Suppress code analysis warnings.
Related rules
CA1812: Avoid uninstantiated internal classes