Wpis z mikrobloga

#programowanie #csharp
Mam taki prosty program jak na obrazku. Wkurza mnie, że muszę wysyłać do każdej funkcji zmienne, które znajdują się w Main. Czy nie mogę mieć jakoś w tej funkcji dostępu do tych zmiennych, żeby nie podawać ich za każdym razem jako argumenty? Jeśli mogę to czy będzie to prawidłowe?
Alodnog - #programowanie #csharp
Mam taki prosty program jak na obrazku. Wkurza mnie...

źródło: comment_1656841619xnkZ8IW7bMX5ulfinHYBPd.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Poczytaj o Dependency injection, IOC i zobacz sobie co to jest autofac


@Alodnog: @Mazowia: niech OP poczyta sobie o klasach i obiektach, a takie tematy to niech sobie zostawi na koniec, jeśli dotrwa
  • Odpowiedz
@Mazowia: @ly000: Rozumiem, że nie mogę mieć dostępu do zmiennych w Main, bo jest to zewnętrzna funkcja, a przechowywanie zmiennych poza Main jest niewłaściwe. A jeśli wsadziłbym funkcję Count do środka Main to miałoby to sens dla tego programu?
  • Odpowiedz
@Alodnog: jeśli zadeklarowałbyś te zmienne jako pola obiektu Program, to nie mógłbyś ich używać w Main, bo to metoda statyczna, czyli jest uruchamiana bez kontekstu obiektu. musiałbyś zadeklarować te pola jako static, wtedy mógłbyś z nich korzystać. mógłbyś również zadeklarować te pola i metodę Count jako niestatyczne, ale wtedy musiałbyś stworzyć obiekt klasy Program w metodzie main i dopiero wtedy mógłbyś się do nich odwoływać (var program = new Program();
  • Odpowiedz