Принципы объектно-ориентированного программирования

         

ОШИБКА - компилироваться не будет



String str = addr.get_ZipCode; // *"ОШИБКА - компилироваться не будет

Однако в этом случае код не будет скомпилирован, так как явно вызывать внутренний метод MSIL недопустимо.

Ответ на наш вопрос — как компилятор позволяет использовать стандартный синтаксис объект.поле для вызова метода? — в том, что при разборе синтаксиса свойства на С# компилятор на самом деле генерирует для нас соответствующие методы-получатели и установщики, поэтому в случае свойства Address.ZipCode компилятор генерирует MSIL, содержащий методы get_ZipCode и setJZipCode.

А теперь посмотрим на сгенерированный метод-установщик. В классе Address вы видели следующее:



Содержание раздела