0

粒子のリストを使用しています。

List<Particle> particles;

通常、このリストをシミュレーション クラスに配置します。粒子の位置、速度、およびその他のプロパティを計算します。

他のいくつかのクラスでは、出力および後処理のためにこのパーティクル データが必要です。

静的クラスを作成してもよろしいですか。

static class Particles
{
    static List<Particles> plist;
}

他のクラスから粒子データにアクセスするには?

4

2 に答える 2

2

可能な限り静的クラス/メソッドから離れることをお勧めします。それらはコードの高い結合につながる傾向があります。それらを使用する方がはるかに速い場合もありますが(できれば控えめに)。

質問から何をしようとしているのかよくわかりませんが、少なくとも、フィールドではなくプロパティを公開するように静的クラスを変更することをお勧めします。

public static class Particles
{
    public static List<Particles> PList { get; set; }
}

また

public static class Particles
{
    private static List<Particles> _plist;

    public static List<Particles> PList
    {
        get { return _plist; }
        set { _plist = value; }
    }
}

このようにして、リストをもう少しカプセル化します。たとえば、ゲッターまたはセッター中にnull値をチェックできます。

于 2010-07-31T23:13:53.893 に答える
0

ここには、少なくとも 2 つのオプションがあります。

  1. IList<Particles>パーティクルを操作する各クラスにプロパティを作成します。

  2. パーティクルを操作する各クラスで、プライベートIList<Particles>フィールドと、そのようなリストをパラメーターとして受け取るコンストラクターを作成します。

これらのオプションのいずれも、リストのカプセル化を保持します。

于 2010-07-31T23:35:51.613 に答える