CA1811: Avoid uncalled private code

Applies to: yesVisual Studio noVisual Studio for Mac noVisual Studio Code

Item Value
RuleId CA1811
Category Microsoft.Performance
Breaking change Non-breaking


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:

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.

CA1812: Avoid uninstantiated internal classes

CA1801: Review unused parameters

CA1804: Remove unused locals