私はstatic
について読んだことがあります。私はそれが非オブジェクトによってのみアクセス可能な接頭辞であることを知っています。しかし、私はEaster
がstatic
でなければならない理由を理解できませんか?なぜこのコードで静的修飾子が必要ですか?
class JsonFile
{
public List<Holiday> StandardHolidays = new List<Holiday>();
public List<ChangingHoliday> ChangingHoliday = new List<ChangingHoliday>();
public static Easter Easter = new Easter();
public static DaysToOffset GoodFriday = new DaysToOffset("Good Friday", Easter, -2);
}
まだstatic
のコンセプトはありません。誰かが説明できますか?あなたがEaster
のインスタンスを持つことはできませんが、あなたは
public DaysToOffset GoodFriday = new DaysToOffset("Good Friday", Easter, -2);
を使用するとき、1つを必要と初期化中
「静的」はどこですか? –
これを実現するには、次のように明示的な非静的コンストラクタに初期化を移動します。 'class JsonFile { public List StandardHolidays; 公開リスト ChangingHolidays; 公開イースターイースター; public DaysToOffset GoodFriday; public JsonFile(){StandardHolidays = new List (); ChangingHolidays =新しいリスト(); Easter =新しいEaster(); GoodFriday =新しいDaysToOffset( "Good Friday"、Easter、-2); } 'いくつかのコンストラクタオーバーロードが定義されている場合は、どこからでも':this() 'コンストラクタを「連鎖する」ことを忘れないでください。 –