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

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

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

модификатор_структуры: new public protected internal private

интерфейсы_структуры: : список_типов_интерфейса

тело_структуры: { объявления_элементов_структурынеобязательно }

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

объявление_элемента_структуры: объявление_константы объявление_поля объявление_метода объявление_свойства объявление_события объявление_индекса объявление_оператора объявление_конструктора объявление_статического_конструктора объявление_типа

      1. Массивы

тип_массива: тип_не_массива спецификации_ранга

тип_не_массива: тип

спецификации_ранга: спецификация_ранга спецификации_ранга спецификация_ранга

спецификация_ранга: [ разделители_размерностейнеобязательно ]

разделители_размерностей: , разделители_размерностей ,

инициализатор_массива: { список_инициализаторов_переменныхнеобязательно } { список_инициализаторов_переменных , }

список_инициализаторов_переменных: инициализатор_переменной список_инициализаторов_переменных , инициализатор_переменной

инициализатор_переменных: выражение инициализатор_массива

      1. Интерфейсы

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

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

модификатор_интерфейса: new public protected internal private

список_параметров_типа_варианта: < параметры_типа_варианта >

параметры_типа_варианта: атрибутынеобязательно аннотация_вариантанеобязательно параметр_типа параметры_типа_варианта , атрибутынеобязательно аннотация_вариантанеобязательно параметр_типа

аннотация_варианта: in out

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

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

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

объявление_элемента_интерфейса: объявление_метода_интерфейса объявление_свойства_интерфейса объявление_события_интерфейса объявление_индекса_интерфейса

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

объявление_свойства_интерфейса: атрибутынеобязательно newнеобязательно тип идентификатор { методы_доступа_к_интерфейсу }

методы_доступа_к_интерфейсу: атрибутынеобязательно get ; атрибутынеобязательно set ; атрибутынеобязательно get ; атрибутынеобязательно set ; атрибутынеобязательно set ; атрибутынеобязательно get ;

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

объявление_индекса_интерфейса: атрибутынеобязательно newнеобязательно тип this [ список_формальных_параметров ] { методы_доступа_к_интерфейсу }

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