以下は私のコードです。
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;
}
}
これはクラスの中にあります。プログラムを実行しようとすると、次のエラーが発生します。
デフォルトのパラメーター指定子は許可されていません
このエラーを解決するにはどうすればよいですか?
問題は、4未満のC#バージョンではオプションのパラメーターを使用できないことです。
これに関する詳細情報を見つけることができます ここ 。
あなたはこのようにそれを解決することができます:
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;
}
}
プロジェクトが.NET4.0として設定されているように見える場合は、たとえば3.5に変更してから、もう一度4.0に変更します。新しいソフトウェアにプロジェクトを入れたいときに、古いソリューションソリューションから新しいソリューションにクラスライブラリプロジェクトを含めたときに、このエラーが発生しました。どちらのソリューションも.NET4でしたが、「デフォルトのパラメーター指定子は許可されていません」というエラーが発生しました。説明したことをしただけです。