76 lines
1.2 KiB
Plaintext
76 lines
1.2 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)
|
|
|
|
include::message.adoc[]
|
|
|
|
include::highlighting.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|