Random クラスから関数を拡張しようとしています。
public static class RandomExtensions
{
public static void NextEven(this Random rnd, int min, int max)
{
// ...
}
public static void ReseedRandomNumberGenerator(this Random rnd, int? seed = null)
{
rnd = seed.HasValue ? new Random(seed.Value) : new Random();
}
}
しかし、私の疑問は、ReseedRandomNumberGenerator の 2 番目の関数です。多くのクラスが Random クラスとやり取りできるものが必要ですが、それらのクラスはすべて同じインスタンスを持つ必要があります。
ReseedRandom を呼び出したとします...他のクラスが新しいシードを更新または更新する必要がある可能性はありますか?
public class A()
{
protected Random Random = new Random();
}
public class B()
{
protected Random Random = new Random();
}
私はこれがうまくいかないことを知っています。静的プロパティが必要かもしれませんが、よくわかりません。