Ошибка компилятора " спецификаторы параметров по умолчанию не разрешены"
Ниже приведен мой код.
public class PItem
{
public String content;
public int count;
public int fee;
public int amount;
public string description;
// Default values
public PItem(String _content = "", int _count = 0, int _fee = 0, string _description = "", int _amount = 0)
{
content = _content;
count = _count < 0 ? 0 : _count;
fee = _fee;
description = _description;
amount = _amount < 0 ? 0 : _amount;
}
}
Это внутри класса. Когда я пытаюсь запустить программу, она дает эту ошибку:
спецификаторы параметров по умолчанию не разрешены
Как я могу решить эту ошибку?
2 ответов
проблема в том, что у вас не может быть необязательных параметров в версии C# меньше 4.
Вы можете найти более подробную информацию об этом здесь.
вы можете решить это так:
public class PItem
{
public String content;
public int count;
public int fee;
public int amount;
public String description;
// default values
public PItem(): this("", 0, 0, "", 0) {}
public PItem(String _content): this (_content, 0, 0, "", 0) {}
public PItem(String _content, int _count): this(_content, _count, 0, "", 0) {}
public PItem(String _content, int _count, int _fee): this(_content, _count, _fee, "", 0) {}
public PItem(String _content, int _count, int _fee, string _description): this(_content, _count, _fee, _description, 0) {}
public PItem(String _content, int _count, int _fee, string _description, int _amount)
{
content = _content;
count = _count < 0 ? 0 : _count;
fee = _fee;
description = _description;
amount = _amount < 0 ? 0 : _amount;
}
}
Если ваш проект, похоже, установлен как .NET 4.0, измените его на например 3.5, а затем снова измените на 4.0. Я получил эту ошибку, когда я включил проект библиотеки классов из моего старого решения в новое, когда я хотел иметь проект в моем новом программном обеспечении. Оба решения были .NET 4, но я получил ошибку" спецификаторы параметров по умолчанию не разрешены". Я просто сделал то, что объяснил.