所以我需要序列化像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
}
然后当我想序列化它时,我正在使用这段代码......
LosFormatter los = new LosFormatter();
StringWriter sw = new StringWriter();
los.Serialize(sw, hiddenData);
String resultSt = sw.GetStringBuilder().ToString();
ViewState["HiddenData"] = resultSt;
我做错了吗?
答案 0 :(得分:5)
将[Serializable]
属性添加到您的班级
http://msdn.microsoft.com/en-us/library/system.serializableattribute.aspx