【发布时间】:2015-08-14 11:15:25
【问题描述】:
我得到这个代码 xml 序列化程序并试图让它工作,但创建的对象包含 nullreference
public byte[] SerializeObject <T>(T serializableObject)
{
T obj = serializableObject;
using (MemoryStream stream = new MemoryStream())
{
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(T));
x.Serialize (stream,obj);
return stream.ToArray ();
}
}
public T DeserializeObject <T>(byte[] serilizedBytes)
{
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer (typeof(T));
using (MemoryStream stream = new MemoryStream(serilizedBytes))
{
return (T) x.Deserialize (stream);
}
}
我使用这个函数初始化类变量,但我找不到空值在哪里
public void updateinfo(int []card, int lmin, int lbom, int pass, int mxint,int cardinturn, int lastsim, int fplayer, float ang, int playid,string namepl,int numberofcard){
o1=new playerupdates();
o1.cardstoad = new int[card.Length];
for(int i=0;i<card.Length;i++){
o1.cardstoad[i]=card[i];
}
o1.lastmin=lmin;
o1.lastbomb=lbom;
o1.passnumber=pass;
o1.maxvalueinturn=mxint;
o1.cardsinturn=cardinturn;
o1.lastsimiliarvalue=lastsim;
o1.firstplayer=fplayer;
o1.angle=ang;
o1.playerid=playid;
o1.playername=namepl;
o1.cardsin=numberofcard;
}
我有 searchrd 的解决方案,但什么也没有。初始化类变量的函数是否正确? 编辑 类代码
public int []cardstoad { get; set; }
public int lastmin { get; set; }
public int lastbomb { get; set; }
public int passnumber{ get; set; }
public int maxvalueinturn { get; set; }
public int cardsinturn { get; set; }
public int lastsimiliarvalue { get; set; }
public int firstplayer { get; set; }
public float angle{ get; set; }
public int playerid { get; set; }
public string playername { get; set; }
public int cardsin{ get; set; }
【问题讨论】:
-
请发布一个示例 XML。还有你用于序列化的类(我猜是播放器更新)
-
我添加了课程代码。我删除了 cardtoad 和 updateinfo 中的其他变量,我这样做了 o1=new playerupdates(){lastmin=lmin, lastbomb=lbom,etc};但什么都没有。空引用又静止了
-
这段代码中没有使用 XML 序列化的内容,也没有 XML 示例。
-
updateinfo(lastmin,lastbomb,passnumber,maxvalueinturn,cardsinturn,lastsimiliarvalue,firstplayer,angle,playerid,playername,playercardsc); photonView.RPC("updatecardsintable",PhotonTargets.All,selem.SerializeObject(o1),Serelemen.cards); selem.SerializeObject(o1) 包含 nullreference 我已经给出了 SerializeObject 函数。看下面的代码
标签: c# xml nullreferenceexception serialization