Witam,
Mam problem z deserializacją klasy. Oto kod:
Form1.cs
public partial class Form1 : Form
{
private FormEngine engine;
private Klasa2 poszukiwacz;
public Form1(FormEngine engine1)
{
engine = engine1;
poszukiwacz = new Klasa2(engine);
Deserializuj();
}
private void Deserializuj()
{
if (System.IO.File.Exists("Serialized"))
{
try
{
IFormatter formatter = new BinaryFormatter();
Stream fileStream = new FileStream("Serialized", FileMode.Open, FileAccess.Read);
poszukiwacz = (Klasa2)formatter.Deserialize(fileStream);
fileStream.Close();
}
catch
{
}
}
}
Klasa2.cs
[Serializable]
public class Klasa2
{
[NonSerialized]private FormEngine engine;
public Szukacz(FormEngine engine1)
{
engine = engine1;
}
}
Celowo jest
[NonSerialized]private FormEngine engine;
gdyż w FormEngine przechowuję dane, które muszą być zmienione za każdym razem gdy włączam aplikacje.
I tutaj jest problem, gdy chcę wywołać jakąś funkcję z Klasa2, chociażby MessageBox.Show(engine.jakaszmienna); dostaję komunikat
Object reference not set to an instance of an object.