所以,我用下面的組件,它具有以下定義(相當無害)工作:爲什麼我甚至需要首先序列化?
public class QueryDefinition
{
private List<QueryFilter> TheCurrentFilters = null;
public List<QueryFilter> CurrentFilters
{
set { TheCurrentFilters = value; }
get { return TheCurrentFilters; }
}
// other code
public class QueryFilter
{
// member variables are: seven public string's & two public int's
public override string ToString()
{
return FilterText;
}
}
}
在另一個組件,我們有一個用戶控件:
public partial class QueryWizard : UserControl
{
private List<QueryDefinition.QueryFilter> TheCurrentFilters = null;
public List<QueryDefinition.QueryFilter> CurrentFilters
{
set { TheCurrentFilters = value; }
get { return TheCurrentFilters; }
}
// other code
}
有趣的代碼,但這是我必須與之合作。
不管怎樣,如果我去另一個項目(即引用此用戶控件),創建一個表單,然後將控件到窗體,我得到這個錯誤:
「System.Runtime.Serialization.SerializationException :在Assembly ...中鍵入QueryDefinition + QueryFilter'未標記爲可序列化。'
我實際上並沒有使用任何序列化代碼,所以QueryFilter的List是什麼是SerializationException的原因?
我已經使用[Serializable]標籤來擺脫這種情況。但最近我們正在重建項目(Visual WebGUI升級),現在我遇到了「無法加載反序列化所需的類型」問題。我決定試着找出爲什麼我們首先需要序列化標籤,而不是解決這個問題。謝謝。
看看堆棧跟蹤異常 – Andrey 2010-05-05 16:01:53