Ошибка compile-time constant для аргумента по умолчанию - C#

Узнай цену своей работы

Формулировка задачи:

Имеется два метода
Листинг программы
  1. class MyFile
  2. {
  3. public static string ReadAll(string filename, Encoding enc = Encoding.UTF8)
  4. {
  5. Console.WriteLine("Use encoding " + enc.ToString());
  6. return null;
  7. }
  8. public static string ReadAll(string filename)
  9. {
  10. return ReadAll(filename, Encoding.UTF8);
  11. }
  12. }
Мне надо сделать так чтобы остался один. Я понимаю, что должно выглядеть так:
Листинг программы
  1. public static string ReadAll(string filename, Encoding enc = Encoding.UTF8)
  2. {
  3. Console.WriteLine("Use encoding " + enc.ToString());
  4. return null;
  5. }
Но выдаёт ошибку error CS1736: Default parameter value for 'enc' must be a compile-time constant Как можно исправить?

Решение задачи: «Ошибка compile-time constant для аргумента по умолчанию»

textual
Листинг программы
  1. public static string ReadAll(string filename)
  2. {
  3.     return ReadAll(filename, Encoding.UTF8);
  4. }
  5.  
  6. public static string ReadAll(string filename, Encoding enc)
  7. {
  8.     ...
  9. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы