S4049 — Properties should be preferred

Language
C#
Type
Code smell
Severity
Minor
Tags
convention

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:

↑ Back to top