
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.
70 lines
1.1 KiB
Plaintext
70 lines
1.1 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Overriding methods automatically inherit the ``++params++`` behavior. To ease readability, this modifier should be explicitly used in the overriding method as well.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,csharp]
|
|
----
|
|
class Base
|
|
{
|
|
public virtual void Method(params int[] numbers)
|
|
{
|
|
...
|
|
}
|
|
}
|
|
class Derived : Base
|
|
{
|
|
public override void Method(int[] numbers) // Noncompliant, the params is missing.
|
|
{
|
|
...
|
|
}
|
|
}
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,csharp]
|
|
----
|
|
class Base
|
|
{
|
|
public virtual void Method(params int[] numbers)
|
|
{
|
|
...
|
|
}
|
|
}
|
|
class Derived : Base
|
|
{
|
|
public override void Method(params int[] numbers)
|
|
{
|
|
...
|
|
}
|
|
}
|
|
----
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
"params" should not be removed from an override.
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
=== on 20 Jul 2015, 12:04:05 Tamas Vajk wrote:
|
|
\[~ann.campbell.2] I removed all "superclass" strings from the description.
|
|
|
|
=== on 20 Jul 2015, 14:35:17 Ann Campbell wrote:
|
|
thanks [~tamas.vajk]
|
|
|
|
endif::env-github,rspecator-view[]
|