Statyczne klasy, pola, konstruktory.

Statyczne klasy, pola, konstruktory.
GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 148
0

Witam.
Mam na przykład taką klasę:

Kopiuj
public static class ExampleClass
    {
        public static TcpClient client;
        public static BinaryWriter Writer;
        public static string ip = "...";
        public static int port = ...;

        static ExampleClass()
        {
            client = new TcpClient();
            client.Connect(IPAddress.Parse(ip), port);
            Writer = new BinaryWriter(client.GetStream());
        }
    }

której używam najpierw w pierwszej formatce, potem pierwsza się chowa i pojawia się druga. W pierwszej nie ma problemu, natomiast kiedy z poziomu drugiej formatki (klasy) próbuję odnieść się do któregoś z pól przykładowej klasy, kompilator wywala błąd:
Nie można uzyskać dostępu do usuniętego obiektu.
Na początku pomyślałem że może obiekty statyczne z przykładowej klasy mogą ulec zerowaniu kiedy zamykam formatkę z której po raz pierwszy zostały wywołane, dlatego zamiast zamykać okno użyłem funkcji Hide() ale to też nie pomogło. Da się coś z tym zrobić, czy muszę przebudować kod tak żeby pierwsze okno przekazywało w argumentach drugiemu te wszystkie obiekty?

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
1

W której konkretnie linijce występował ten błąd?

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 148
0
Kopiuj
Client.Writer.Write(msg);
somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
1

A ten Writer to pewno jakiś zamknięty strumień?

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 148
0

Tak. Client jest cały czas połączony, więc strumień musi być zamknięty.
[EDIT]: A jednak. Sprawdziłem, klient jakoś traci połączenie z serwerem. Dzięki za pomoc.

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.