publiczna tablica publicznej klasy

publiczna tablica publicznej klasy
AG
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam od pewnego czasu przesiadłem sie do C# troche w nim pisze i dotarłem do programu w którym mam dwie formy i chciałbym aby  komunikowały one sie ze sobą. W sposób elegancki ale i też bardzo prosty. Obszedłem ten problem delegacją i dodatkową metodą. Co jesli miałbym 10 pól tekstowych i jakieś liczby każdy powie „weś se konstruktor okna i se rób” chciałbym i moim marzeniem było by strukture „przekazać przez parametr” albo prostą drogą klase mieć publiczną (publiczną nie public dla jednego pliku (bo to smieszne)) w sensie dla projektu. Domyślacie sie że pochodzę z kamienia (łupanego)  C++. Co byście mi poradzili? Jak wy sobie radzicie z takim problemem? Może nie problem? Myślałem o  WPF.  Jak tam sie miewa sprawa.

ps:  mam klase public deklaruje tablice objektów przy innym zdarzeniu czar pryska. Co z tym zrobić?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

To co robisz to tragedia. Przeczytaj co to jest wysokie sprzężenie i czemu jest niedobre i co to jest zasada jednej odpowiedzialności. Ogólnie chodzi o to że jeśli w swoim kodzie zmienisz coś w tej klasie z textboxami to będziesz musiał też dokonać miliona zmian w tych klasach "zależnych". Tak się nie robi ;]
Lekcja na dziś: MVC/MVP

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

i moim marzeniem było by strukture „przekazać przez parametr”
No ale w czym problem?

AG
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
public class KLASA
        {
            
            public KLASA(string file)
            {
                string Files;
                Files=file;
                //File= OpenFileDialog();
            }
            public void meda(int i)
            {
                //--wykonaj cos na objekcie tym dupiatym--//
            }

        }

        private void button1_Click(object sender, EventArgs e)
        {
            int i = 5;
            KLASA[] klasy = new KLASA[i];
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //wywołanie meda operującej na objekcie 
            klasy[1].meda(0);
        }

Shalom - nie jest aż tak źle. kłopot leży w tym że musiałbym deklarować objekty na nowo co nie wchodzi w gre. czas życia zmiennej z 1 buttona mija. (?) nie moge wywołać go w drugim aby wykonać operacje na nim.
Azarien - w WPF czytałem że istnieje plik dołączany jako globalny pzy tworzeniu okna - może sie myle. jak tak to sorry.
2. umiem walnąć konstruktor klasy i parametr przekazać jednak zrobienie tego z oknem jest jeszcze poza zasiegiem.

chciałbym aby 2 okna sie mogły komunikować i podobnie ze zdarzeniami.

Zenek1999
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 51
1

Nie lubię pisać o ogólnikach, ale z Twoich postów wynika, że ideałem dla Ciebie byłby dostęp do każdego obiektu z dowolnego miejsca w kodzie... a to byłby koszmar. Jeżeli będziesz przekazywał zbyt wiele informacji do klasy, to skończy się to tym, że będziesz miał wszystko zależne od wszystkiego. Takie rozwiązanie ma wiele wad...

  • drobna zmiana wymusza zmianę w 100 innych klasach
  • drobna zmiana może popsuć wiele rzeczy
  • dane się źle wyświetla?... hmm... może być to wina 32 różnych klas, bo wszystkie mogą modyfikować te dane...
  • nie możesz użyć klasy w innym projekcie, bo jest zależna od miliona innych rzeczy
  • itd. itp

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.