这是我的代码:
public static class SerializationUtil
{
public static string Serialize(object obj)
{
if (obj == null)
return string.Empty;
StringWriter writer = new StringWriter();
new System.Web.UI.LosFormatter().Serialize(writer, obj);
return writer.ToString();
}
public static object Deserialize(string data)
{
if (data == null)
return null;
return (new System.Web.UI.LosFormatter()).Deserialize(data);
}
}
我遇到的问题是:当我调用serialize方法时,如果obj为null,则会抛出错误。所以我想检查obj值是否为null。我现在所处的代码不起作用,因为当检查obj值时它永远不会为空。
解决:
在答案中查看我的帖子
答案 0 :(得分:2)
using System;
[Serializable] //the missing piece
public class RegisterFormData
{
public string username { get; set; }
public string pass1 { get; set; }
public string pass2 { get; set; }
public string email { get; set; }
public string firstname { get; set; }
public string lastname { get; set; }
}
答案 1 :(得分:1)
我真的不认为你所描述的是可能的。如果您已检查obj
上面只有几行不为空,则它不为空。如果您收到NullReferenceException
,可能是因为 else 为空,可能是Serialize
方法本身。