Full Properties with Backing Fields
Add logic to getters and setters.
Beyond Auto-Properties
When you need logic inside get or set, you write a full property with an explicit backing field. The field stores the data; the accessors control access.
using System;
class Temperature
{
private double _celsius;
public double Celsius
{
get { return _celsius; }
set { _celsius = value; }
}
}
class Program
{
static void Main()
{
var t = new Temperature();
t.Celsius = 21.5;
Console.WriteLine(t.Celsius);
}
}The Backing Field Convention
By convention, a backing field is private and named with a leading underscore, like _name. The public property exposes it.
using System;
class Person
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
}
class Program
{
static void Main()
{
var p = new Person();
p.Name = "Grace";
Console.WriteLine(p.Name);
}
}All lessons in this course
- Auto-Implemented Properties
- Full Properties with Backing Fields
- Expression-Bodied Members
- Indexers