1

クラスがあり、クラス メンバーの 1 つはすべてのオブジェクトを保持する静的リストであり、このリスト(List<myObject> list = new ...)を一度だけ作成したいと考えています。それを行う最良の方法は何ですか?

public class MyObject
{
    private string _name;
    private static List<Capture> _list;

    public MyObject(string name)
    {
        _name = name;
    }

    public void start()
    {
        _list.Add(this);
    }
}
4

5 に答える 5

0

以前のすべての回答で、静的 ctor や静的ブロックなどの考えられるすべてのアプローチについて言及されていたので、目的を熟考する必要があります。

関心の分離または単一責任パターンに従って、静的な方法であっても実装自体ではなく、すべての実装のリストを含む別のクラスが必要です。最も簡単な解決策は、ファクトリ (ファクトリ メソッドではない) をパッケージの可視 ctor と共に使用し、それらのインスタンスをそこに格納することです。

于 2013-09-11T19:27:51.857 に答える