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