я создал классПолучение Serializable Ошибка Даже после установки [Serializable] Перед класса
[Serializable]
public class clsCategories
{
public static List<infoCategories> listCategories = new List<infoCategories>();
public void serialize()
{
BinaryFormatter bf = new BinaryFormatter();
FileStream fs = new FileStream("categories.dat", FileMode.Create);
bf.Serialize(fs, listCategories);
fs.Close();
}
[Serializable]
public class infoCategories
{
public PictureBox img { get; set; }
public Label lbl { get; set; }
}
}
Теперь при вызове этого метода ...
private void btnDone_Click(object sender, EventArgs e)
{
objCategories.serialize();
this.Hide();
}
Я получил эту ошибку:
An unhandled exception of type 'System.Runtime.Serialization.SerializationException' occurred in mscorlib.dll
Additional information: Type 'System.Windows.Forms.PictureBox' in Assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable.
Где я ошибаюсь?
Все члены должны быть сериализации. 'PictureBox' и' Label' - нет. –
@IvanStoev Но я написал [Serializable] выше своего класса. Я все еще что-то упускаю? если да, скажите мне – ShoaibSivany
Вы можете сериализовать растровое изображение или создать класс SerilizablePictureBox. Просто добавить атрибут не всегда достаточно. – TaW