Свойства (Руководство по программированию в C#)
Свойство — это член, предоставляющий гибкий механизм для чтения, записи или вычисления значения частного поля. Свойства можно использовать, как если бы они являлись открытыми членами данных, хотя в действительности они являются специальными методами, называемыми методами доступа. Это обеспечивает простой доступ к данным и позволяет повысить уровень безопасности и гибкости методов.
В данном пример класс TimePeriod хранит сведения о периоде времени. Внутри класса время хранится в секундах, но свойство с именем Hours позволяет клиенту задать время в часах. Методы доступа для свойства Hours выполняют преобразование между часами и секундами.
Пример
class TimePeriod
{
private double seconds;
public double Hours
{
get { return seconds / 3600; }
set { seconds = value * 3600; }
}
}
class Program
{
static void Main()
{
TimePeriod t = new TimePeriod();
// Assigning the Hours property causes the 'set' accessor to be called.
t.Hours = 24;
// Evaluating the Hours property causes the 'get' accessor to be called.
System.Console.WriteLine("Time in hours: " + t.Hours);
}
}
// Output: Time in hours: 24
Общие сведения о свойствах
Свойства позволяют классу предоставлять общий способ получения и задания значений, скрывая при этом код реализации или проверки.
Метод доступа свойства get используется для возврата значения свойства, а метод доступа set используется для назначения нового значения. Эти методы доступа могут иметь различные уровни доступа. Дополнительные сведения см. в разделе Ограничение доступности методов доступа (Руководство по программированию на C#).
Ключевое слово value используется для определения значения, присваиваемого методом доступа set.
Свойства, которые не реализуют метод доступа set, доступны только для чтения.
Для простых свойств, не требующих пользовательского кода метода доступа, рассмотрите возможность использования автоматически реализуемых свойств. Дополнительные сведения см. в разделе Автоматически реализуемые свойства (Руководство по программированию на C#).
Связанные разделы
Использование свойств (Руководство по программированию в C#)
Сравнение свойств и индексаторов (Руководство по программированию в C#)
Ограничение доступности методов доступа (Руководство по программированию на C#)
Автоматически реализуемые свойства (Руководство по программированию на C#)
Спецификация языка C#
Дополнительные сведения см. в Спецификация языка C#. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#.
См. также
Ссылки
Использование свойств (Руководство по программированию в C#)
Индексаторы (Руководство по программированию в C#)