Rzekomy brak instancji

0

Witam! Mam problem z błędem "Object reference not set to an instance of an object.". Wiem co on oznacza i wiem, że powoduje go brak utworzonej instancji danego obiektu. Ale, występuje on tam gdzie nie powinien występować, mniej więcej wygląda to tak:

    static Klient[] kliente;      
    static void Main(string[] args)
    {
         kliente = new Klient[6];
         //....
         nasłuch słuch = new nasłuch(kliente);       
    }   
    public class nasłuch
    {
        static Klient[] kliente;
        public nasłuch(Klient[] klien)
        {
            kliente = klien;
        }
        public void nasluch()
        {
            //....                  
            Wątkownia wąt = new Wątkownia(id - 1, kliente);           
        }
    }
    public class Wątkownia
    {
        static Klient[] kliente;        
        public Wątkownia(int ide, Klient[] kl)
        {
            kliente = kl;          
        }
        public void obsługa ()
        { 
            //....                                 
            kliente[do_kogo - 1].zaległe.Enqueue(tekst);    //Tu jest błąd            
        }

Próbowałem to obejść w kilka różnych sposobów, ale nic nie daje rady. Czy ktoś mógłby mi pomóc? Z góry dziękuję.
Pozdrawiam!

0

A dlaczego niby nie powinien występować?

kliente[do_kogo - 1] lub kliente[do_kogo - 1].zaległe jest null. A dlaczego to nie wiem, za mało kodu. Nie wiadomo nawet co to za metoda obsługa() ani kiedy jest wywoływana. Jak i kiedy tworzysz obiekty w tablicy kliente?

0

obsługa(), a raczej obsługa(object klien) jest wywoływana z nasłuchu:

Wątkownia wąt = new Wątkownia(id - 1, kliente);
ThreadPool.QueueUserWorkItem(wąt.obsługa, (object)klient);

Tworzenie elementów następuje w Main:

for (int i = 0; i < kliente.Length; i++)
    {
        kliente[i] = new Klient();
    }

@Edit: Okej, wcześniej nie utworzyłem obiektów kliente.zaległe, już wszystko gra.

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