C#自定义序列化 - 使用TypeConverter

Rya*_*ord 2 c# asp.net viewstate serialization

所以我需要序列化一个通用字典Dictionary<long, List<MyClass>>.我需要序列化它以将其存储在ASP.Net应用程序的ViewState中.

我找到了一个使用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
 }
Run Code Online (Sandbox Code Playgroud)

然后,当我想序列化它时,我正在使用此代码...

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

难道我做错了什么?