我有一個簡單的類如果我沒有編寫用於實例化對象的類,我可以序列化一個對象嗎?
[Serializable]
public class MyClass
{
public String FirstName { get; set: }
public String LastName { get; set: }
//Bellow is what I would like to do
//But, it's not working
//I get an exception
ContactDataContext db = new ContactDataContext();
public void Save()
{
Contact contact = new Contact();
contact.FirstName = FirstName;
contact.LastName = LastName;
db.Contacts.InsertOnSubmit(contact);
db.SubmitChanges();
}
}
我想一個保存方法附加到類,這樣我可以把它的每個對象。當我介紹了其中包含ContactDataContext上面的語句,我得到了下面的錯誤「在組裝......公鑰=空」未標記爲可序列」
很明顯,DataContext類是由框架生成()。我查了一下,沒有看到那個班的標記是serialize。
我能做些什麼來克服這一點?當我不是班級的作者時,規則是什麼? 只要繼續並將DataContext類標記爲可序列化,並假裝一切都會工作?
感謝您的幫助
@PrutsWonder - 你的答案允許擺脫異常。現在我知道我需要在序列化之前先考慮,我爲此感謝你。但是,我仍然想知道我沒有寫什麼課程。我是否使用序列化屬性修飾該類? – Richard77 2010-04-15 14:52:34
不幸的是,db.InsertOnSubmit正在生成「未設置爲對象實例的對象」異常。還有什麼要做的嗎? – Richard77 2010-04-15 15:18:05
用可能的解決方案更新了答案。 – Prutswonder 2010-04-16 06:49:34