2009-12-29 79 views
2

所以我需要序列化一個通用字典一樣Dictionary<long, List<MyClass>>。我需要序列化將其存儲在ASP.Net應用程序的視圖狀態。C#自定義序列 - 使用的TypeConverter

我發現了一個使用TypeConverter將我的類轉換爲要序列化的字符串的示例,但我收到一條錯誤消息,說MyClass is not marked as serializable

這裏是我的類代碼..

[TypeConverter (typeof(MyClass_Converter))] 
public class MyClass 
{ 
    // some properties 
} 

public class MyClass_Converter : System.ComponentModel.TypeConverter 
{ 
    public override bool CanConvertTo(...) 
    { 
     // code 
    } 

    // CanConvertFrom, ConvertFrom, ConvertTo methods 
} 

然後,當我想序列化,我使用此代碼...

LosFormatter los = new LosFormatter(); 
StringWriter sw = new StringWriter(); 
los.Serialize(sw, hiddenData); 
String resultSt = sw.GetStringBuilder().ToString(); 
ViewState["HiddenData"] = resultSt; 

難道我做錯了什麼?

回答

5
+0

所以我甚至需要使用的TypeConverter? – 2009-12-29 04:06:58

+0

試試吧,找出來,然後告訴我們發生了什麼。 – 2009-12-29 04:10:43

+0

我做到了,一起使用它們與僅僅使用序列化時,我沒有看到任何不同。 – 2009-12-29 04:13:02