Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharp Language Specification.doc
Скачиваний:
13
Добавлен:
26.09.2019
Размер:
4.75 Mб
Скачать
      1. Перечисления

объявление_перечисления: атрибутынеобязательно модификаторы_перечислениянеобязательно enum идентификатор база_перечислениянеобязательно тело_перечисления ;необязательно

база_перечисления: : целый_тип

тело_перечисления: { объявления_элементов_перечислениянеобязательно } { объявления_элементов_перечисления , }

модификаторы_перечисления: модификатор_перечисления модификатор_перечисления модификаторы_перечисления

модификатор_перечисления: new public protected internal private

объявления_элементов_перечисления: объявление_элементов_перечисления объявления_элементов_перечисления объявление_элемента_перечисления

объявление_элемента_перечисления: атрибутынеобязательно идентификатор атрибутынеобязательно идентификатор = константное_выражение

      1. Делегаты

объявление_делегата: атрибутынеобязательно модификаторы_делегатанеобязательно delegate возвращаемый_тип идентификатор список_параметров_типа_вариантанеобязательно ( список_формальных_параметровнеобязательно ) предложения_ограничений_параметров_типанеобязательно ;

модификаторы_делегата: модификатор_делегата модификатор_делегата модификаторы_делегата

модификатор_делегата: new public protected internal private

      1. Атрибуты

глобальные_атрибуты: разделы_глобальных_атрибутов

разделы_глобальных_атрибутов: раздел_глобальных_атрибутов разделы_глобальных_атрибутов раздел_глобальных_атрибутов

раздел_глобальных_атрибутов: [ целевая_спецификация_глобального_атрибута список_атрибутов ] [ целевая_спецификация_глобального_атрибута список_атрибутов , ]

целевая_спецификация_глобального_атрибута: цель_глобального_атрибута :

цель_глобального_атрибута: assembly module

атрибуты: разделы_атрибутов

разделы_атрибутов: раздел_атрибутов разделы_атрибутов раздел_атрибутов

раздел_атрибутов: [ целевая_спецификация_атрибутанеобязательно список_атрибутов ] [ целевая_спецификация_атрибутанеобязательно список_атрибутов , ]

целевая_спецификация_атрибута: цель_атрибута :

цель_атрибута: field event method param property return type

список_атрибутов: атрибут список_атрибутов , атрибут

атрибут: имя_атрибута аргументы_атрибутанеобязательно

имя_атрибута: имя_типа

аргументы_атрибута: ( список_аргументов_по_положениюнеобязательно ) ( список_аргументов_по_положению , список_именованных_аргументов ) ( список_именованных_аргументов )

список_аргументов_по_положению: аргумент_по_положению список_аргументов_по_положению , аргумент_по_положению

аргумент_по_положению: имя_аргументанеобязательно выражение_аргумента_атрибута

список_именованных_аргументов: именованный_аргумент список_именованных_аргументов , именованный_аргумент

именованный_аргумент: идентификатор = выражение_аргумента_атрибута

выражение_аргумента_атрибута: выражение

    1. Грамматические расширения для небезопасного кода

модификатор_класса: ... unsafe

модификатор_структуры: ... unsafe

модификатор_интерфейса: ... unsafe

модификатор_делегата: ... unsafe

модификатор_поля: ... unsafe

модификатор_метода: ... unsafe

модификатор_свойства: ... unsafe

модификатор_события: ... unsafe

модификатор_индекса: ... unsafe

модификатор_оператора: ... unsafe

модификатор_конструктора: ... unsafe

объявление_деструктора: атрибутынеобязательно externнеобязательно unsafeнеобязательно ~ идентификатор ( ) тело_деструктора атрибутынеобязательно unsafeнеобязательно externнеобязательно ~ идентификатор ( ) тело_деструктора

модификаторы_статического_конструктора: externнеобязательно unsafeнеобязательно static unsafeнеобязательно externнеобязательно static externнеобязательно static unsafeнеобязательно unsafeнеобязательно static externнеобязательно static externнеобязательно unsafeнеобязательно static unsafeнеобязательно externнеобязательно

внедренный_оператор: ... небезопасный_оператор фиксированный_оператор

небезопасный_оператор: unsafe блок

тип: ... тип_указателя

тип_указателя: неуправляемый_тип * void *

неуправляемый_тип: тип

первичное_выражение_создания_не_массива: ... доступ_к_элементу_по_указателю доступ_к_элементу_по_указателю выражение_sizeof

унарное_выражение: ... выражение_косвенного_обращения_к_указателю

выражение_косвенного_обращения_к_указателю: * унарное_выражение

доступ_к_элементу_по_указателю: первичное_выражение -> идентификатор

доступ_к_элементу_по_указателю: первичное_выражение_создания_не_массива [ выражение ]

выражение_addressof: & унарное_выражение

выражение_sizeof: sizeof ( неуправляемый_тип )

фиксированный_оператор: fixed ( тип_указателя деклараторы_фиксированных_указателей ) внедренный_указатель

деклараторы_фиксированных_указателей: декларатор_фиксированного_указателя деклараторы_фиксированных_указателей , декларатор_фиксированного_указателя

декларатор_фиксированного_указателя: идентификатор = инициализатор_фиксированного_указателя

инициализатор_фиксированного_указателя: & ссылка_на_переменную выражение

объявление_элемента_структуры: … объявление_буфера_фиксированного_размера

объявление_буфера_фиксированного_размера: атрибутынеобязательно модификаторы_буфера_фиксированного_размеранеобязательно fixed тип_элемента_буфера деклараторы_буфера_фиксированного_размера ;

модификаторы_буфера_фиксированного_размера: модификатор_буфера_фиксированного_размера модификатор_буфера_фиксированного_размера модификаторы_буфера_фиксированного_размера

модификатор_буфера_фиксированного_размера: new public protected internal private unsafe

тип_элемента_буфера: тип

деклараторы_буфера_фиксированного_размера: декларатор_буфера_фиксированного_размера декларатор_буфера_фиксированного_размера деклараторы_буфера_фиксированного_размера

декларатор_буфера_фиксированного_размера: идентификатор [ константное_выражение ]

инициализатор_локальной_переменной: … инициализатор_stackalloc

инициализатор_stackalloc: stackalloc неуправляемый_тип [ выражение ]

  1. Ссылки

Консорциум по Юникоду. The Unicode Standard, Version 3.0. Addison-Wesley, Reading, Massachusetts, 2000, ISBN 0-201-616335-5.

IEEE. Стандарт IEEE для бинарной арифметики значений с плавающей запятой. Стандарт ANSI/IEEE 754-1985. Доступен на веб-узле http://www.ieee.org.

ISO/IEC. C++. ANSI/ISO/IEC 14882:1998.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]