CA1724: Type Names Should Not Match Namespaces


This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2019. Download it here

TypeName TypeNamesShouldNotMatchNamespaces
CheckId CA1724
Category Microsoft.Naming
Breaking Change Breaking


A type name matches a .NET Framework namespace names in a case-insensitive comparison.

Rule Description

Type names should not match the names of namespaces that are defined in the .NET Framework class library. Violating this rule can reduce the usability of the library.

How to Fix Violations

Select a type name that does not match the name of a .NET Framework class library namespace.

When to Suppress Warnings

For new development, no known scenarios occur where you must suppress a warning from this rule. Before you suppress the warning, carefully consider how the users of your library might be confused by the matching name. For shipping libraries, you might have to suppress a warning from this rule.