Книга: C# для профессионалов. Том II

Свойства класса Employee

Свойства класса Employee

Теперь мы переходим к свойствам Name и Salary. Синтаксис C# для объявления свойства существенно отличается от соответствующего синтаксиса VB, но базовые принципы одинаковы. Необходимо определить два метода доступа (accessors) соответственно для "получения" и "задания" значений свойства. В VB они синтаксически интерпретируются как методы, но в C# свойство объявляется в целом, а затем определяются методы доступа внутри определения свойства.

public decimal Salary {
 get {
  return salary;
 }
 set {
  salary = value;
 }
}

В VB компилятор знает, что определяется свойство, так как используется ключевое слово Property. В C# эта информация передается тем, что за именем свойства немедленно следует открывающая фигурная скобка. Если определяется метод, то это будет открывающая скобка, указывающая начало списка параметров, в то время как для поля это будет точка с запятой, отмечающая конец определения.

Еще один момент, на который необходимо обратить внимание, состоит в том, что определения методов доступа get и set не содержат никаких списков параметров, это не важно. Мы знаем, что Salary является десятичным значением, и метод доступа get вернет десятичное значение, не используя параметры, в то время как метод доступа set будет получать один десятичный параметр и возвращать void. Для процедуры доступа set этот параметр не объявляется явно, но компилятор всегда интерпретирует слово value как ссылающееся на него.

Здесь снова синтаксис определения свойств показывает, что в случае C# он является более компактным и может облегчить ввод кода.

Так же как в VB, если необходимо сделать свойство предназначенным только для чтения, то просто опускается метод доступа set, как было сделано для свойства Name:

public string Name {
 get {
  return name;
 }
}

Оглавление книги


Генерация: 1.348. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз