Problem z NullReferenceException

0

Witam, mam problem ze swoim programem. Otóż piszę sieć neuronową i nie mogę wywołać metody innej klasy. Otóż ważne elementy klasy Form1 wyglądają tak:

public class MainWindow : System.Windows.Forms.Form
...
public SI.ARTMAP.NetOutput netOutput1;
...
try 
{
	netOutput1.train(Convert.ToInt32(epochText.Text), lbActivity, parametryUczenia);
}
catch 
{

	epochText.Text = "5";
        netOutput1.train(5, lbActivity, parametryUczenia);** <---------**
}
...

Oczywiście druga klasa nazywa się NetOutput(). Błąd pojawia się w miejscu oznaczonym strzałką i wygląda tak:
"Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu."

Myślałem że chodzi o stworzenie nowego obiektu klasy NetOutput poprzez:

               NetOutput netoutput1 = new NetOutput();
               netoutput1 = new NetOutput();

Ale niestety to samo.

Bardzo proszę o pomoc

0

Czy oby tworzysz obiekt przed wykonaniem na nim operacji ? tzn.
najpierw "NetOutput netoutput1 = new NetOutput();" a potem netoutput1.train(...

Spróbuj poprawić swój kod tak, żeby nie wykonywać tych samych operacji w bloku który może rzucić wyjątek i bloku który go obsługuje;
użyj debugowania aby zobaczyć tuż przed wywołaniem metody train czy wszystkie parametry są odpowiednio zainicjowane i czy epochText.Text zawiera liczbę.
No i proponuje użyć nieco innej techniki konwersji tekstu na liczbę, zamiast Convert.ToInt32(epochText.Text) użyj:

int liczbaEpok;
if (!Int32.TryParse(epochText.Text, out liczbaEpok))
{
  liczbaEpok = 5; // domyślna liczba epok = 5
  // można też dodać MessageBox.Show("błąd liczby epok, zostanie użyta domyślna ilość 5");
}

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