之前之後我創建了一個類現在獲取序列化的錯誤,即使插入[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