MSDN VS2010 Именованные и необязательные аргументы (Руководство по программированию на С#) рассказывает нам о дополнительных параметрах на С#, показывая код, как я ожидал:/p >
public void ExampleMethod(int required,
string optionalstr = "default string",
int optionalint = 10)
Хорошо, но он также говорит:
Вы также можете объявить необязательным параметров с помощью .NET. Необязательный атрибут класса. Необязательные параметры атрибута не требуется значение по умолчанию.
Я прочитал страницу дополнительных атрибутов MSDN и выполнил поиск в Интернете (что показывает, что многие люди утверждают, что параметры OptionalAttribute не могут быть использованы С# Я предполагаю, что эти комментарии были сделаны до С# 4?), Но я не могу найти ответ на два вопроса:
Если я использую OptionAttribute для определения параметра С# как необязательного:
- какое значение будет использовано, если я вызову этот метод и не укажу это значение параметра?
- будет ли это значение оцениваться во время компиляции или времени выполнения?