Getter are called when you read the value of the property:
USState state = new USState("Washington", "WA");
string whereAmI = state.LongName;
And setter is called when you assign a value to some property. You did not define any setters.
The whole idea of properties is the possibility to introduce some side effect behind the operations which as syntactically looks 100% identically to operations of reading or assignment of a
field value.
[EDIT]
Please see also the comment by austinbox.
Your backing fields are redundant. In newer syntax, auto-implemented backing fields were introduced. This is all you need:
public class USState
{
public USState(string longName, string shortName)
{
this.ShortName = shortName;
this.LongName = longName;
}
public string ShortName { get; }
public string LongName { get; }
}
}
—SA