Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Топ:
Оснащения врачебно-сестринской бригады.
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Интересное:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
В некоторых случаях для набора выражений необходимо вывести общий тип. В частности, типы элементов для массивов с неявным указанием типа и типы возвращаемых значений анонимных функций с телом в виде блока находятся следующим образом.
При наличии набора выражений E1…Em такой вывод должен быть эквивалентен вызову метода
Tr M<X>(X x1 … X xm)
с Ei в качестве аргументов.
Точнее, вывод начинается с нефиксированной переменной типа X. Вывод выходных типов выполняется из каждого Ei в тип X. Наконец, X фиксируется и, в случае успеха, получившийся тип S становится наиболее подходящим общим типом для выражений. Если S не существует, выражения не имеют наиболее общего типа.
Разрешение перегрузки
Разрешение перегрузки — это механизм времени привязки для выбора наиболее подходящего члена-функции для вызова по предоставленному списку аргументов и набору кандидатов членов-функций. Разрешение перегрузки позволяет выбрать член-функцию для вызова в следующих отдельных контекстах в C#:
· вызов метода, указанного в выражении вызова (§7.6.5.1);
· вызов конструктора экземпляра, указанного в выражении создания объекта (§7.6.10.1);
· вызов метода доступа к индексатору с помощью доступа к элементу (§7.6.6);
· вызов стандартного или пользовательского оператора, на который есть ссылка в выражении (§7.3.3 и §7.3.4).
Для каждого из этих контекстов набор кандидатов функций-членов и список аргументов определяются по-своему, как подробно описывается в разделах выше. Например, набор кандидатов для вызова метода не включает методы, помеченные с помощью ключевого слова override (§7.4), кроме того в список кандидатов не попадают методы базового класса, если применим любой из методов производного класса (§7.6.5.1).
После определения кандидатов функций-членов и списка аргументов выбор наиболее подходящей функции-члена осуществляется одинаковым образом для всех случаев.
· При наличии набора применимых кандидатов функций-членов определяется наиболее подходящая функция-член. Если набор содержит только одну функцию-член, то наиболее подходящей функцией-членом является эта функция. Иначе наиболее подходящей функцией-членом является функция-член, более всего подходящая по списку аргументов в соответствии с правилами из раздела §7.5.3.2. Если не удалось найти одну функцию-член, более подходящую, чем остальные, то вызов функции-члена оказывается неоднозначным и возникает ошибка времени привязки.
В следующих разделах определяется значение терминов применимая функция-член и более подходящая функция-член.
Применимая функция-член
Функция-член называется применимой функцией-членом в соответствии со списком аргументов A, когда выполняются все следующие условия.
· Каждый аргумент в A соответствует параметру в объявлении функции члена, как описано в §7.5.1.1, и любой параметр, которому не соответствует аргумент, является необязательным параметром.
· Для каждого аргумента в A режим передачи параметра для аргумента (то есть по значению, с помощью ключевых слов ref или out) совпадает с режимом передачи соответствующего параметра и
o для параметра значения или массива параметров существует неявное преобразование (§6.1) из аргумента в тип соответствующего параметра или
o для параметров, передаваемых с помощью ref или out, тип аргумента идентичен типу соответствующего параметра. В конечном счете параметры ref или out представляют собой псевдонимы для передаваемых аргументов.
Для функции-члена, включающей массив параметров, если функция-член применима в соответствии с указанными правилами, то она называется применимой в нормальной форме. Если функция-член, включающая массив параметров, не применима в нормальной форме, то она может быть применима в расширенной форме.
· Расширенная форма создается путем замены массива параметров в объявлении функции-члена на ноль или другое число параметров с типом элементов массива параметров, так чтобы число аргументов в списке аргументов A совпадало с общим числом параметров. Если в списке A меньше аргументов, чем число фиксированных параметров в объявлении функции-члена, то создать расширенную форму функции-члена нельзя и поэтому она неприменима.
· Иначе расширенная форма применима, если для каждого аргумента в списке A режим передачи параметра для аргумента идентичен режиму передачи соответствующего параметра и
o для фиксированного параметра значения или параметра значения, созданного при расширении, существует неявное преобразование (§6.1) из типа аргумента в тип соответствующего параметра или
o для параметров, передаваемых с помощью ref или out, тип аргумента идентичен типу соответствующего параметра.
|
|
|
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
© cyberpedia.su 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!