A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1812 below:

CA1812: Avoid uninstantiated internal classes (code analysis) - .NET

Property Value Rule ID CA1812 Title Avoid uninstantiated internal classes Category Performance Fix is breaking or non-breaking Non-breaking Enabled by default in .NET 9 No Cause

An internal (assembly-level) type is never instantiated.

Rule description

This rule tries to locate a call to one of the constructors of the type and reports a violation if no call is found.

The following types are not examined by this rule:

If you apply System.Runtime.CompilerServices.InternalsVisibleToAttribute to the assembly that's being analyzed, this rule doesn't flag types that are marked as internal (Friend in Visual Basic) by default, because a field may be used by a friend assembly. To analyze the assembly anyway, see Configure code to analyze.

How to fix violations

To fix a violation of this rule, remove the type or add code that uses it. If the type contains only static methods, add the static modifier to the type to prevent the compiler from emitting a default public instance constructor.

When to suppress warnings

It is safe to suppress a warning from this rule. We recommend that you suppress this warning in the following situations:

Suppress a warning

If you just want to suppress a single violation, add preprocessor directives to your source file to disable and then re-enable the rule.

#pragma warning disable CA1812
// The code that's violating the rule is on this line.
#pragma warning restore CA1812

To disable the rule for a file, folder, or project, set its severity to none in the configuration file.

[*.{cs,vb}]
dotnet_diagnostic.CA1812.severity = none

For more information, see How to suppress code analysis warnings.

Configure code to analyze

Use the following option to configure which parts of your codebase to run this rule on.

You can configure this option for just this rule, for all rules it applies to, or for all rules in this category (Performance) that it applies to. For more information, see Code quality rule configuration options.

Ignore InternalsVisibleTo attribute

By default, this rule is disabled if the assembly being analyzed uses InternalsVisibleToAttribute to expose its internal symbols. You can set the ignore_internalsvisibleto option to change the configuration. To specify that the rule should run even if the assembly is marked with InternalsVisibleToAttribute, add the following key-value pair to an .editorconfig file in your project:

dotnet_code_quality.CAXXXX.ignore_internalsvisibleto = true

Note

Replace the XXXX part of CAXXXX with the ID of the applicable rule.

This option is available starting in .NET 8.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4