Я пытаюсь расширить функции из класса 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. Мне нужно что-то, где многие классы могут взаимодействовать с классом Random, но все эти классы должны иметь один и тот же экземпляр.
Предположим, что я вызываю ReseedRandom ... возможно, чем другие классы должны обновить или обновить новое начальное число?
public class A()
{
protected Random Random = new Random();
}
public class B()
{
protected Random Random = new Random();
}
Я знаю, что это не работает. Может быть, мне нужно статическое свойство, я не уверен.