#c# #.net
#c# #.net
Вопрос:
Смотрите определение метода ниже.
Как это называется в C #, где в параметре метода стоит знак равенства.
Выполняется ли инициализация параметра метода по умолчанию??
public List<Iabc> MyMethod(out List<Ixyz> faces, Type typeXYZ = null, int flag = -1)
{
//...
//...
}
ПРИМЕЧАНИЕ: Здесь Iabc
и Ixyz
указаны любые интерфейсы.
Ответ №1:
Они называются необязательными (или именованными) аргументами. В MSDN обычно эти вещи объясняются довольно хорошо:
Именованные и необязательные аргументы (Руководство по программированию на C #)
Ответ №2:
При использовании именованных аргументов имейте в виду, что изменение имен аргументов приведет к нарушению кода. (где используются именованные параметры)
Также помните, что значение по умолчанию фактически сохраняется на сайте вызова, что означает, что если вы в какой-то более поздний момент измените значение по умолчанию, код, который вызывает метод и был скомпилирован до изменения, все равно будет использовать старое значение. это может не иметь значения во всех ситуациях, но об этом следует знать.
Ответ №3:
Это необязательный аргумент в C # 4.0