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

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

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

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

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

textual
Листинг программы
public static string ReadAll(string filename)
{
    return ReadAll(filename, Encoding.UTF8);
}
 
public static string ReadAll(string filename, Encoding enc)
{
    ...
}

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


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

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

10   голосов , оценка 3.8 из 5
Похожие ответы