
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.
81 lines
1.6 KiB
Plaintext
81 lines
1.6 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Changing an inherited member to ``++private++`` will not prevent access to the base class implementation.
|
|
|
|
|
|
This rule raises an issue when a ``++private++`` method in an unsealed type has a signature that is identical to a ``++public++`` method declared in a base type.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,csharp]
|
|
----
|
|
using System;
|
|
|
|
namespace MyLibrary
|
|
{
|
|
public class Foo
|
|
{
|
|
public void SomeMethod(int count) { }
|
|
}
|
|
public class Bar:Foo
|
|
{
|
|
private void SomeMethod(int count) { } // Noncompliant
|
|
}
|
|
}
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,csharp]
|
|
----
|
|
using System;
|
|
|
|
namespace MyLibrary
|
|
{
|
|
public class Foo
|
|
{
|
|
public void SomeMethod(int count) { }
|
|
}
|
|
public sealed class Bar : Foo
|
|
{
|
|
private void SomeMethod(int count) { }
|
|
}
|
|
}
|
|
----
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
This member hides '{0}'. Make it non-private or seal the class.
|
|
|
|
|
|
=== Highlighting
|
|
|
|
member declaration
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
=== relates to: S3434
|
|
|
|
=== on 22 May 2017, 13:19:56 Ann Campbell wrote:
|
|
\[~jeanchristophe.collet] RSPEC-2387 is already covered by C#. On the face of it, these two rules overlap nearly completely.
|
|
|
|
=== on 22 May 2017, 13:59:50 Jean-Christophe Collet wrote:
|
|
\[~ann.campbell.2] RSPEC-2387 only covers fields, this rule covers only methods without an override.
|
|
|
|
=== on 22 May 2017, 15:10:29 Ann Campbell wrote:
|
|
Okay, then RSPEC-3434 is the related RSpec, altho it's scope is different. I've added it as 'related'
|
|
|
|
endif::env-github,rspecator-view[]
|