## 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

    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`