2009-12-29 80 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