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

Новые свойства

Новые свойства

C# вводит ряд новых концепций, которые не являются частью спецификации ANSI C++ (хотя большинство из них были введены компанией Microsoft как нестандартные расширения, поддерживаемые компилятором Microsoft C++). Они включают в себя следующие понятия:

Делегаты. C# не поддерживает указатели на функции. Однако аналогичный результат достигается помещением ссылок на методы в классах специальной формы, называемых делегатами. Делегаты могут передаваться между методами и использоваться для вызова методов, ссылки на которые они содержат, таким же образом, как указатели на функции могут использоваться в C++. В отношении делегатов важно отметить, что они содержат в себе объектные ссылки, также как и ссылки на методы. Это означает. что в отличие от указателей на функции, делегат содержит достаточно данных для вызова экземпляра метода в классе.

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

Свойства. Эта идея, интенсивно используемая в VB и в COM, была импортирована в C#. Свойство является в классе методом или парой методов получения/задания, которые синтаксически оформлены так, что для внешнего мира они выглядят как поле. Они позволяют написать код в виде MyForm.Height = 400 вместо MyForm.SetHeight(400).

Интерфейсы. Интерфейс может рассматриваться как абстрактный класс, назначение которого состоит в определении множества методов или свойств, которые классы могут согласиться реализовать. Идея ведет свое происхождение из COM. Интерфейсы C# не такие, как интерфейсы COM — они являются просто списками методов и т.д., в то время как интерфейсы COM имеют другие связанные свойства, такие как GUID, но принцип очень похож. Это означает, что C# формально распознает принцип наследования интерфейса, посредством которого класс наследует определения функций, но без каких-либо реализаций.

Атрибуты. C# позволяет дополнить классы, методы, параметры и другие элементы в коде с помощью мета-информации, называемой атрибутами. Атрибуты доступны во время выполнения и используются для определения действий, принимаемых кодом.

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


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