Перфолента.NET. ООП. Атрибуты элементов программы — различия между версиями

Материал из ТХАБ.РФ
Перейти к: навигация, поиск
(Новая страница: « Категория:Перфолента.NET. Описание языка Перфолента.NET Категория:Перфолента.NET. Объек…»)
 
м
Строка 1: Строка 1:
 +
В языке [[Перфолента.Net]] можно привязать к элементам программы дополнительную информацию, которая придаст им дополнительный смысл, особое назначение или особые правила использования.
 +
 +
В языке Перфолента, как и в других .Net языках, атрибуты элементов программы используются как на стадии компиляции, так и на стадии выполнения. Это значит, что как компилятор может внести изменения в генерируемый машинный код основываясь на атрибутах, так и выполняющаяся программа может менять своё поведение в зависимости от атрибутов выполняемого кода.
 +
 +
Процесс получения атрибутов сборки и других элементов программы называется рефлексией (reflection).
 +
 +
== Виды атрибутов ==
 +
Итак, '''Атрибуты''' могут влиять на:
 +
* сборку (компиляцию) программы
 +
* выполнение кода программы
 +
 +
Атрибуты могут быть определены
 +
* в платформе NET
 +
* в Языке Перфолента
 +
* могут быть определены программистом
 +
 +
Часть используемых вами атрибутов определена прямо в языке Перфолента (в стандартной  библиотеке ??), это:
 +
* видимости (ВидноВсем),
 +
* наследования,
 +
* переопределения методов
 +
* и другие (ТолькоДляЧтения).
 +
 +
С каждым из них мы познакомимся чуть позже.
 +
 +
Некоторые атрибуты определены в библиотеке Net Framework и могут использоваться компиляторами любых .Net языков.
 +
 +
Другие атрибуты определены в стандартной библиотеке Перфоленты и могут использоваться компилятором Перфоленты и программами, использующими эту библиотеку.
 +
 +
А некоторые атрибуты будут определены Вами в вашей программе и использовать их будете только Вы.
 +
 +
Важно: в языке 1С, как и в некоторых других языках программирования, '''атрибуты''' называют '''аннотациями'''. В разных языках синтаксис записи атрибутов (аннотаций) различен, как и способы их использования, но в большинстве современных языков они в том или ином виде есть.
 +
 +
== Устройство атрибута ==
 +
 +
Технически, атрибуты — это специальные классы, унаследованные от класса Атрибут, который в .Net соответствует классу System.Attribute.
 +
Атрибуты могут что-то значить сами по себе или иметь конструктор, принимающий на хранение дополнительную информацию в виде параметров.  Типы параметров конструктора атрибута, а также полей и свойств, ограничены в .Net следующими типами:
 +
Цел8, Цел32, Цел64, Байт, Бит32, Бит64, Вещ, ДВещ, Строка, Символ, Булево, Тип,
 +
а также это может быть Перечисление одного из указанных типов.
 +
К сожалению, платформа .Net не поддерживает тип Дата в качестве параметра атрибута, но при необходимости дату (как и другие сериализуемые типы) можно представлять строкой.
  
  
 
[[Категория:Перфолента.NET. Описание языка Перфолента.NET]]
 
[[Категория:Перфолента.NET. Описание языка Перфолента.NET]]
 
[[Категория:Перфолента.NET. Объектно-Ориентированное Программирование]]
 
[[Категория:Перфолента.NET. Объектно-Ориентированное Программирование]]

Версия 13:41, 12 ноября 2020

В языке Перфолента.Net можно привязать к элементам программы дополнительную информацию, которая придаст им дополнительный смысл, особое назначение или особые правила использования.

В языке Перфолента, как и в других .Net языках, атрибуты элементов программы используются как на стадии компиляции, так и на стадии выполнения. Это значит, что как компилятор может внести изменения в генерируемый машинный код основываясь на атрибутах, так и выполняющаяся программа может менять своё поведение в зависимости от атрибутов выполняемого кода.

Процесс получения атрибутов сборки и других элементов программы называется рефлексией (reflection).

Виды атрибутов

Итак, Атрибуты могут влиять на:

  • сборку (компиляцию) программы
  • выполнение кода программы

Атрибуты могут быть определены

  • в платформе NET
  • в Языке Перфолента
  • могут быть определены программистом

Часть используемых вами атрибутов определена прямо в языке Перфолента (в стандартной библиотеке ??), это:

  • видимости (ВидноВсем),
  • наследования,
  • переопределения методов
  • и другие (ТолькоДляЧтения).

С каждым из них мы познакомимся чуть позже.

Некоторые атрибуты определены в библиотеке Net Framework и могут использоваться компиляторами любых .Net языков.

Другие атрибуты определены в стандартной библиотеке Перфоленты и могут использоваться компилятором Перфоленты и программами, использующими эту библиотеку.

А некоторые атрибуты будут определены Вами в вашей программе и использовать их будете только Вы.

Важно: в языке 1С, как и в некоторых других языках программирования, атрибуты называют аннотациями. В разных языках синтаксис записи атрибутов (аннотаций) различен, как и способы их использования, но в большинстве современных языков они в том или ином виде есть.

Устройство атрибута

Технически, атрибуты — это специальные классы, унаследованные от класса Атрибут, который в .Net соответствует классу System.Attribute. Атрибуты могут что-то значить сами по себе или иметь конструктор, принимающий на хранение дополнительную информацию в виде параметров. Типы параметров конструктора атрибута, а также полей и свойств, ограничены в .Net следующими типами: Цел8, Цел32, Цел64, Байт, Бит32, Бит64, Вещ, ДВещ, Строка, Символ, Булево, Тип, а также это может быть Перечисление одного из указанных типов. К сожалению, платформа .Net не поддерживает тип Дата в качестве параметра атрибута, но при необходимости дату (как и другие сериализуемые типы) можно представлять строкой.