Установка значения по умолчанию Дополнительного Параметра C#

Каждый раз, когда я пытаюсь установить значение по умолчанию дополнительного параметра к чему-то в файле ресурсов, я получаю ошибку времени компиляции

Значение параметра по умолчанию для 'сообщения' должно быть постоянным временем компиляции.

Есть ли какой-либо способ, которым я могу измениться, как файлы ресурсов работают для создания этого возможным?

public void ValidationError(string fieldName, 
                            string message = ValidationMessages.ContactNotFound)

В этом, ValidationMessages файл ресурсов.

23
задан nawfal 16 May 2013 в 12:19
поделиться

2 ответа

Нет, вы не сможете заставить ресурс работать напрямую по умолчанию. Что вам нужно сделать, так это установить значение по умолчанию на что-то вроде null, а затем выполнить поиск ресурсов, когда параметр имеет значение по умолчанию в теле метода.

12
ответ дан 29 November 2019 в 02:08
поделиться

Один из вариантов - сделать значение по умолчанию нулевым , а затем заполнить его соответствующим образом:

public void ValidationError(string fieldName, string message = null)
{
    string realMessage = message ?? ValidationMessages.ContactNotFound;
    ...
}

Конечно, это работает, только если вы не хочу допускать null как подлинное значение.

Другой потенциальный вариант - иметь этап предварительной сборки, на котором создается файл, полный строк const на основе ресурсов; затем вы можете ссылаться на эти константы. Хотя это было бы довольно неловко.

15
ответ дан 29 November 2019 в 02:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: