
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.
82 lines
1.3 KiB
Plaintext
82 lines
1.3 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Properties are accessed like fields which makes them easier to use.
|
|
|
|
|
|
This rule raises an issue when the name of a ``++public++`` or ``++protected++`` method starts with ``++Get++``, takes no parameter, and returns a value that is not an array.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,csharp]
|
|
----
|
|
using System;
|
|
|
|
namespace MyLibrary
|
|
{
|
|
public class Foo
|
|
{
|
|
private string name;
|
|
|
|
public string GetName() // Noncompliant
|
|
{
|
|
return name;
|
|
}
|
|
}
|
|
}
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,csharp]
|
|
----
|
|
using System;
|
|
|
|
namespace MyLibrary
|
|
{
|
|
public class Foo
|
|
{
|
|
private string name;
|
|
|
|
public string Name
|
|
{
|
|
get
|
|
{
|
|
return name;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
----
|
|
|
|
|
|
=== Exceptions
|
|
|
|
The rule doesn't raise an issue when the method:
|
|
|
|
* Is a constructor
|
|
* Is an ``++override++``
|
|
* Is an interface implementation
|
|
* Is ``++async++``
|
|
* Returns ``++Task++``, ``++Task<T>++``
|
|
* Is named ``++GetEnumerator++``, ``++GetAwaiter++``
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Consider making method '{0}' a property.
|
|
|
|
|
|
=== Highlighting
|
|
|
|
The method declaration
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|