Czy uzycie delegata będzię najlepszym rozwiązaniem

0

Cześć. Mam taką metodę która ma za zadanie w texboxie wyświetlać mi wygenerowany numer z podanego przedziału.
Chciałbym to zrobić dla 10 różnych textboxów zmieniając przy tym zakresy generowanej liczby.
Moje pytanie brzmi: zeby nie powielać kodu powinienem to zrobić przy użyciu delegata czy w jakiś inny sposób?

   Random generator = new Random();

            int randomValue;

            randomValue = generator.Next(000000000000, 999999999999);

            int x = randomValue;

            textBox1.Text = x.ToString();
0

To zależy. Nie podałeś jak te zakresy zmieniasz. Zrób metodę która przyjmuje początek przedziału, koniec i zwraca losową liczbę. A jak to ustawiać do textboxa to już gdzie indziej i to zależy w jaki sposób to wszystko wywołujesz. Trochę mało kodu podałeś.

1

Z tego, co opisujesz tutaj delegat nie ma żadnego sensu:

Zrób sobie jakiś singleton, gdzie w konstruktorze będziesz tworzył obiekt Random (pamiętaj, że Random ma być stworzony TYLKO RAZ w aplikacji).

A potem już jakaś konkretna metoda w tym singletonie:

public int RandomRange(int low, int high)
{
    return generator.Next(low, high);
}

A potem to już przypisujesz do TextBoxa. Albo normalnie (w WinForms) albo przez ViewModel (WPF).

W ogóle po co Ci tyle zmiennych w tym kodzie? To można zmieścić w jednej linijce:

textbox1.Text = generator.Next(0, 999999999999).ToString();

1 użytkowników online, w tym zalogowanych: 0, gości: 1