Witam. Mam krótkie pytanie: Jak zamienić: var Zmienna = InnaKlasa.InnaZmienna; Żeby nie było tego błędu co w tytule? Potrzebuję innego rozwiązania niż dopisanie słowa static przed InnaZmienna.
Dlaczego nie możesz użyć słówka static?
public class InnaKlasa { public string InnaZmienna = "x"; } Teraz, w innym pliku piszę: public class MainClass { string Zmienna = InnaKlasa.InnaZmienna; } I mam ten błąd co w tytule. Da się go rozwiązać w inny sposób niż wstawienie słowa static? Zawsze po prostu wpisywałem public static string InnaZmienna = "x"; ale tym razem nie mogę użyć zmiennej statycznej.
Da się go rozwiązać w inny sposób niż wstawienie słowa static?
Nie, bo... dokładnie do tego służy.
public string InnaZmienna = "x";
To nie znaczy że InnaZmienna ma taką... wartość, tylko że taką ma domyślną wartość przy tworzeniu nowej instancji klasy.
Musisz się zdecydować, czy chcesz, żeby InnaZmienna było cechą klasy, czy polem każdego obiektu.
93,718 zapytań
142,631 odpowiedzi
323,262 komentarzy
63,266 pasjonatów
Motyw:
Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡
Oto polecana książka warta uwagi.Pełną listę książek znajdziesz tutaj
Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.