rspec/rules/S4041/csharp/rule.adoc
Fred Tingaud 16f6c0aecf
Inline adoc when include has no additional value (#1940)
Inline adoc files when they are included exactly once.

Also fix language tags because this inlining gives us better information
on what language the code is written in.
2023-05-25 14:18:12 +02:00

56 lines
961 B
Plaintext

== Why is this an issue?
When a type name matches the name of a publicly defined namespace, for instance one in the .NET framework class library, it leads to confusion and makes the library that much harder to use.
This rule raises an issue when a name of a public type matches the name of a .NET Framework namespace, or a namespace of the project assembly, in a case-insensitive comparison.
=== Noncompliant code example
[source,csharp]
----
using System;
namespace MyLibrary
{
public class Text // Noncompliant: Collides with System.Text
{
}
}
----
=== Compliant solution
[source,csharp]
----
using System;
namespace MyLibrary
{
public class MyText
{
}
}
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
=== Message
Change the name of type '{0}' to be different from an existing framework namespace.
=== Highlighting
Type declaration
endif::env-github,rspecator-view[]