次のようなクラスが必要です。
public class Forest<S, T>
{
static IList<Animal> coolGuys = new List<Animal>();
}
しかし、私はcoolGuys
本当に静的でありたいと思っています。つまり、アプリケーションの存続期間全体を通じて一意である必要があります。そして今はそうではありません。MS はこのパターンを思いとどまらせます、と ReSharper は警告しますが、どうすれば私が望むものを本当に達成できるのでしょうか?
別の静的クラスを作成し、そこにパブリック静的フィールドを作成するか、別のシングルトン クラスにパブリック インスタンス フィールドを作成して、さらに作業を行う必要があるかもしれません。静的フィールドだけを保持する冗長な public クラスを使用しても問題ありませんが、回避したいのはフィールドが public/internal であることです。つまり、なぜ一貫性のないものを外の世界にさらすのかというcoolGuys
ことです。Forest<,>
public class Forest
{
public static IList<Animal> coolGuys = new List<Animal>(); //want to avoid
}
public class Forest<S, T>
{
Forest.coolGuys.Add(cutie);
}
より良いパターンはありますか?