Problem klasy statyczne

0

Witam
Jako iz jestem poczatkujacym w C#, z pewnoscia zadam banalne pytanie, jednak mimo wszystko kieruje je tutaj bowiem sprawil mi on jednak maly problem. Otoz przykladowo, tworzac nowy projekt windows aplication, dodaje do niego dwie klasy ( poprzez add new item ) np. Klasa1, Klasa2
. Kazda z nich oznaczam jako static, oraz w kazdej z nich definiuje publiczne pole statyczne np. typu bool ( niewazne typ, wazna sama idea o ktora pytam ):

public static class Klasa1
{

    public static bool twierdzenie = false;
}

public static class Klasa2
{

    public static bool twierdzenie2 = false;
}

Po czym przebudowywuje rozwiazanie, a mimo to nie moge uzyskac dostepu do zadnego z tych pol ( poprzez nazwe klasy, wpisujac np. Klasa1.(w tym miejscu srodowisko nie odnajduje nazwy pola twierdzenie i nie podpowiada go, reczne dopisanie powoduje wystapienie bledu ) ani w obszarze jednej z tych klas statycznych, ani z poziomu klasy Form1. Przeciez pola statyczne umozliwiaja ich uzycie bez potrzeby kreowania instacji klasy w jakiej sie znajduja, a wiec uzycie nazwy klasy do ich uzycia powinno wystarczyc prawda? W czym tkwi blad?

Dziekuje z gory za pomoc
Michał

0

A w prawidłowym miejscu próbujesz się odwołać do tych klas?
W jakich przestrzeniach nazw są te klasy?
Wszystko się kompiluje bez problemu?

0

Wlasnie zauwazylem w czym popelnialem blad... ehhh az wstyd sie przyznac... Otoz przykladowo:

moja statyczna klasa:

namespace test2
{
public static class Class1
{

    public static int licznik = 2;
}

}

oraz klasa Form1:

namespace test2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

    .............. <---------- tutaj dalsza tresc
  
}

}

Probowalem wrzucic Od razu polecenie np. if (Class1.licznik) .... co skutkowalo tym iz nie istanialo odwolanie do takiego pola, podczas gdy dopiero po zamknieciu instrukcji if w ciele funkcji wszystko zadzialalo:

void Testuje()
{
if (Class1.licznik)
{
...
}
}

Prymitywny blad, az zaczerwienic sie mozna, takze przepraszam za niepotrzebne zasmiecanie i dziekuje za odpowiedz:)

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