Jak utworzyć taki "konfigurator"?

0

Witam, jak można utworzyć (lub chociaż jak to się w ogóle fachowo nazywa) taki kreator/konfigurator w którym po wybraniu elementu, pokazują się nam kolejne elementy do wyboru, a jeszcze kolejny jest np. text boxem. Spróbuje to zobrazować na przykładzie

image.png

Chodzi o to, żeby wyklikać co tam chcemy robić i zastosować odpowiedni kod

Bo obstawiam, że da się to inaczej zrobić niż
pseudokod:

if (lista1.selected == "matematyka" && lista2.selected=="mnozenie" 
    && matematyka_input1.isnotnull && matematyka_input2.isnotnull
{
  result = matematyka_input1*matematyka_input2;
}

#edit

Dobra, mam chyba obejście

https://stackoverflow.com/questions/540066/calling-a-function-from-a-string-in-c-sharp

3

Nie, są lepsze rozwiązania do tego zadania niż refleksja. Np. odpowiednia struktura klas. Wzorzec polecenia (command) albo maszyna stanów. Albo maszyna stanów w połączeniu ze wzorcem polecenia.
Pytanie najważniejsze - co chcesz dokładnie osiągnąć?

0
Juhas napisał(a):

Nie, są lepsze rozwiązania do tego zadania niż refleksja. Np. odpowiednia struktura klas. Wzorzec polecenia (command) albo maszyna stanów. Albo maszyna stanów w połączeniu ze wzorcem polecenia.
Pytanie najważniejsze - co chcesz dokładnie osiągnąć?

Mam program który ma rożne funkcjonalności, ale każdą trzeba odpowiednio skonfigurować (parametry)

i chciałem żeby dało się to w jakiś przystępny, noob-friendly sposób ustawiać

Coś jak kreatory instalacji, że wybieramy, podajemy/zaznaczamy co chcemy i leci.

1

zapoznaj sie z tym co napisal @Juhas

Wystarczy odpowiednia hierarchia klas i nie potrzebujesz jakis udziwnien.

Tutaj nawet prosta lista dwukierunkowa moze wystarczyc jak bys chcial "na raz" . Wtedy budowanie drzewa (chodzi to co po sobie wystepuje) mozesz przeniesc poza program np config. Ale nie polecana metoda bo pozniej jest to ciezkie do utrzymania. Plus jest taki ze ktos nie techniczny by mogl to rozwijac

0
WeiXiao napisał(a):
Juhas napisał(a):

Nie, są lepsze rozwiązania do tego zadania niż refleksja. Np. odpowiednia struktura klas. Wzorzec polecenia (command) albo maszyna stanów. Albo maszyna stanów w połączeniu ze wzorcem polecenia.
Pytanie najważniejsze - co chcesz dokładnie osiągnąć?

Mam program który ma rożne funkcjonalności, ale każdą trzeba odpowiednio skonfigurować (parametry)

To mi coraz bardziej wygląda jak command pattern. Opisz dokładnie, co chcesz uzyskać, to damy Ci pewnie najlepsze rozwiązanie. Bo tak, że masz różne funkcjonalności, to dalej możemy gdybać. Napisz dokładnie co i jak.

0
Juhas napisał(a):
WeiXiao napisał(a):
Juhas napisał(a):

Nie, są lepsze rozwiązania do tego zadania niż refleksja. Np. odpowiednia struktura klas. Wzorzec polecenia (command) albo maszyna stanów. Albo maszyna stanów w połączeniu ze wzorcem polecenia.
Pytanie najważniejsze - co chcesz dokładnie osiągnąć?

Mam program który ma rożne funkcjonalności, ale każdą trzeba odpowiednio skonfigurować (parametry)

To mi coraz bardziej wygląda jak command pattern. Opisz dokładnie, co chcesz uzyskać, to damy Ci pewnie najlepsze rozwiązanie. Bo tak, że masz różne funkcjonalności, to dalej możemy gdybać. Napisz dokładnie co i jak.

Wspólne wartości: Login, Hasło

Funkcja 1: Odpisywanie na posty których autor spełnia warunki np. nick/data utworzenia, itd.

  • Trzeba podać nazwę "działu" na tej stronie na której program ma działać
  • Ilość postów do pobrania
  • Odpowiedz która ma być wysłana
  • Gdzie wstawić nick autora w tej odpowiedzi itd

Funkcja 2: Pobieranie postów ze strony które zawierają XYZ słowo/słowa i/lub odpisywanie

Chociaż, może to po prostu w formsach zrobię, że w 1 okienku wybieram sobie jedną z funkcji (jakaś lista i button) i przy jakiś przycisk typu "dalej" który prześle do nowego, specjalnie przygotowanego formsa na podstawie wyboru.

2

Takie coś jest łatwo napisać, wystarczy mieć jakąś drzewiastą strukturę danych i zapamiętywać pozycję w niej, taki "kursor" sobie stworzyć. Po kliknięciu kategorii zmieniamy aktualną pozycję w drzewie. Tak jak tutaj zrobiłem w JS, możesz zobaczyć bo algorytmu można użyć podobnego
https://jsfiddle.net/008rzktc/

Do zrobienia przycisku back dobrze jest użyć stosu, wtedy pamiętamy wszystkie poprzednie kroki jakie nas doprowadziły do danej kategorii i możemy cofać się o ile kroków chcemy.

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