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
using System;
namespace MyLibrary
{
public class Foo
{
private string name;
public string GetName() // Noncompliant
{
return name;
}
}
}
Compliant solution
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